ring_theory.ideal.basicMathlib.RingTheory.Ideal.Basic

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -660,7 +660,7 @@ theorem span_singleton_le_span_singleton {x y : α} :
 theorem span_singleton_eq_span_singleton {α : Type u} [CommRing α] [IsDomain α] {x y : α} :
     span ({x} : Set α) = span ({y} : Set α) ↔ Associated x y :=
   by
-  rw [← dvd_dvd_iff_associated, le_antisymm_iff, and_comm']
+  rw [← dvd_dvd_iff_associated, le_antisymm_iff, and_comm]
   apply and_congr <;> rw [span_singleton_le_span_singleton]
 #align ideal.span_singleton_eq_span_singleton Ideal.span_singleton_eq_span_singleton
 -/
Diff
@@ -4,9 +4,9 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Chris Hughes, Mario Carneiro
 -/
 import Algebra.Associated
-import LinearAlgebra.Basic
+import Algebra.Module.Submodule.Ker
 import Order.Atoms
-import Order.CompactlyGenerated
+import Order.CompactlyGenerated.Basic
 import Tactic.Abel
 import Data.Nat.Choose.Sum
 import LinearAlgebra.Finsupp
@@ -347,12 +347,12 @@ theorem IsPrime.mem_of_pow_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ
     r ∈ I := by
   induction' n with n ih
   · rw [pow_zero] at H; exact (mt (eq_top_iff_one _).2 hI.1).elim H
-  · rw [pow_succ] at H; exact Or.cases_on (hI.mem_or_mem H) id ih
+  · rw [pow_succ'] at H; exact Or.cases_on (hI.mem_or_mem H) id ih
 #align ideal.is_prime.mem_of_pow_mem Ideal.IsPrime.mem_of_pow_mem
 -/
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (x «expr ∉ » I) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (y «expr ∉ » I) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:642:2: warning: expanding binder collection (x «expr ∉ » I) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:642:2: warning: expanding binder collection (y «expr ∉ » I) -/
 #print Ideal.not_isPrime_iff /-
 theorem not_isPrime_iff {I : Ideal α} :
     ¬I.IsPrime ↔ I = ⊤ ∨ ∃ (x : _) (_ : x ∉ I) (y : _) (_ : y ∉ I), x * y ∈ I :=
@@ -740,7 +740,7 @@ variable {b}
 #print Ideal.pow_mem_of_mem /-
 theorem pow_mem_of_mem (ha : a ∈ I) (n : ℕ) (hn : 0 < n) : a ^ n ∈ I :=
   Nat.casesOn n (Not.elim (by decide))
-    (fun m hm => (pow_succ a m).symm ▸ I.mul_mem_right (a ^ m) ha) hn
+    (fun m hm => (pow_succ' a m).symm ▸ I.mul_mem_right (a ^ m) ha) hn
 #align ideal.pow_mem_of_mem Ideal.pow_mem_of_mem
 -/
 
@@ -945,7 +945,7 @@ namespace Ring
 
 variable {R : Type _} [CommSemiring R]
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (x «expr ≠ » (0 : R)) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:642:2: warning: expanding binder collection (x «expr ≠ » (0 : R)) -/
 #print Ring.exists_not_isUnit_of_not_isField /-
 theorem exists_not_isUnit_of_not_isField [Nontrivial R] (hf : ¬IsField R) :
     ∃ (x : _) (_ : x ≠ (0 : R)), ¬IsUnit x :=
Diff
@@ -128,7 +128,7 @@ theorem unit_mul_mem_iff_mem {x y : α} (hy : IsUnit y) : y * x ∈ I ↔ x ∈
   refine' ⟨fun h => _, fun h => I.mul_mem_left y h⟩
   obtain ⟨y', hy'⟩ := hy.exists_left_inv
   have := I.mul_mem_left y' h
-  rwa [← mul_assoc, hy', one_mul] at this 
+  rwa [← mul_assoc, hy', one_mul] at this
 #align ideal.unit_mul_mem_iff_mem Ideal.unit_mul_mem_iff_mem
 -/
 
@@ -346,8 +346,8 @@ theorem IsPrime.mem_or_mem_of_mul_eq_zero {I : Ideal α} (hI : I.IsPrime) {x y :
 theorem IsPrime.mem_of_pow_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ) (H : r ^ n ∈ I) :
     r ∈ I := by
   induction' n with n ih
-  · rw [pow_zero] at H ; exact (mt (eq_top_iff_one _).2 hI.1).elim H
-  · rw [pow_succ] at H ; exact Or.cases_on (hI.mem_or_mem H) id ih
+  · rw [pow_zero] at H; exact (mt (eq_top_iff_one _).2 hI.1).elim H
+  · rw [pow_succ] at H; exact Or.cases_on (hI.mem_or_mem H) id ih
 #align ideal.is_prime.mem_of_pow_mem Ideal.IsPrime.mem_of_pow_mem
 -/
 
@@ -373,7 +373,7 @@ theorem zero_ne_one_of_proper {I : Ideal α} (h : I ≠ ⊤) : (0 : α) ≠ 1 :=
 
 #print Ideal.bot_prime /-
 theorem bot_prime {R : Type _} [Ring R] [IsDomain R] : (⊥ : Ideal R).IsPrime :=
-  ⟨fun h => one_ne_zero (by rwa [Ideal.eq_top_iff_one, Submodule.mem_bot] at h ), fun x y h =>
+  ⟨fun h => one_ne_zero (by rwa [Ideal.eq_top_iff_one, Submodule.mem_bot] at h), fun x y h =>
     mul_eq_zero.mp (by simpa only [Submodule.mem_bot] using h)⟩
 #align ideal.bot_prime Ideal.bot_prime
 -/
@@ -607,7 +607,7 @@ theorem sInf_isPrime_of_isChain {s : Set (Ideal α)} (hs : s.Nonempty) (hs' : Is
     Classical.or_iff_not_imp_left.mpr fun hx =>
       by
       rw [Ideal.mem_sInf] at hx e ⊢
-      push_neg at hx 
+      push_neg at hx
       obtain ⟨I, hI, hI'⟩ := hx
       intro J hJ
       cases hs'.total hI hJ
@@ -697,7 +697,7 @@ theorem IsMaximal.isPrime {I : Ideal α} (H : I.IsMaximal) : I.IsPrime :=
       obtain F : y * 1 = y * (a • x + b) := congr_arg (fun g : α => y * g) oe
       rw [← mul_one y, F, mul_add, mul_comm, smul_eq_mul, mul_assoc]
       refine' Submodule.add_mem I (I.mul_mem_left a hxy) (Submodule.smul_mem I y _)
-      rwa [Submodule.span_eq] at h ⟩
+      rwa [Submodule.span_eq] at h⟩
 #align ideal.is_maximal.is_prime Ideal.IsMaximal.isPrime
 -/
 
@@ -807,14 +807,14 @@ theorem span_pow_eq_top (s : Set α) (hs : span s = ⊤) (n : ℕ) : span ((fun
     · rw [Set.image_empty, hs]
       trivial
     · exact subset_span ⟨_, hx, pow_zero _⟩
-  rw [eq_top_iff_one, span, Finsupp.mem_span_iff_total] at hs 
+  rw [eq_top_iff_one, span, Finsupp.mem_span_iff_total] at hs
   rcases hs with ⟨f, hf⟩
-  change (f.support.sum fun a => f a * a) = 1 at hf 
+  change (f.support.sum fun a => f a * a) = 1 at hf
   have := sum_pow_mem_span_pow f.support (fun a => f a * a) n
-  rw [hf, one_pow] at this 
+  rw [hf, one_pow] at this
   refine' span_le.mpr _ this
   rintro _ hx
-  simp_rw [Finset.mem_coe, Set.mem_image] at hx 
+  simp_rw [Finset.mem_coe, Set.mem_image] at hx
   rcases hx with ⟨x, hx, rfl⟩
   have : span ({x ^ (n + 1)} : Set α) ≤ span ((fun x : α => x ^ (n + 1)) '' s) :=
     by
@@ -970,9 +970,9 @@ theorem not_isField_iff_exists_ideal_bot_lt_and_lt_top [Nontrivial R] :
     exact ⟨mt ideal.span_singleton_eq_bot.mp nz, mt ideal.span_singleton_eq_top.mp nu⟩
   · rintro ⟨I, bot_lt, lt_top⟩ hf
     obtain ⟨x, mem, ne_zero⟩ := SetLike.exists_of_lt bot_lt
-    rw [Submodule.mem_bot] at ne_zero 
+    rw [Submodule.mem_bot] at ne_zero
     obtain ⟨y, hy⟩ := hf.mul_inv_cancel NeZero
-    rw [lt_top_iff_ne_top, Ne.def, Ideal.eq_top_iff_one, ← hy] at lt_top 
+    rw [lt_top_iff_ne_top, Ne.def, Ideal.eq_top_iff_one, ← hy] at lt_top
     exact lt_top (I.mul_mem_right _ mem)
 #align ring.not_is_field_iff_exists_ideal_bot_lt_and_lt_top Ring.not_isField_iff_exists_ideal_bot_lt_and_lt_top
 -/
@@ -1012,7 +1012,7 @@ theorem isField_iff_isSimpleOrder_ideal : IsField R ↔ IsSimpleOrder (Ideal R)
 theorem ne_bot_of_isMaximal_of_not_isField [Nontrivial R] {M : Ideal R} (max : M.IsMaximal)
     (not_field : ¬IsField R) : M ≠ ⊥ := by
   rintro h
-  rw [h] at max 
+  rw [h] at max
   rcases max with ⟨⟨h1, h2⟩⟩
   obtain ⟨I, hIbot, hItop⟩ := not_is_field_iff_exists_ideal_bot_lt_and_lt_top.mp not_field
   exact ne_of_lt hItop (h2 I hIbot)
@@ -1034,7 +1034,7 @@ theorem bot_lt_of_maximal (M : Ideal R) [hm : M.IsMaximal] (non_field : ¬IsFiel
   apply @irrefl _ (· < ·) _ (⊤ : Ideal R)
   have : M = ⊥ := eq_bot_iff.mpr mle
   rw [this] at *
-  rwa [hm.1.2 I Ibot] at Itop 
+  rwa [hm.1.2 I Ibot] at Itop
 #align ideal.bot_lt_of_maximal Ideal.bot_lt_of_maximal
 -/
 
@@ -1091,7 +1091,7 @@ theorem coe_subset_nonunits [Semiring α] {I : Ideal α} (h : I ≠ ⊤) : (I :
 theorem exists_max_ideal_of_mem_nonunits [CommSemiring α] (h : a ∈ nonunits α) :
     ∃ I : Ideal α, I.IsMaximal ∧ a ∈ I :=
   by
-  have : Ideal.span ({a} : Set α) ≠ ⊤ := by intro H; rw [Ideal.span_singleton_eq_top] at H ;
+  have : Ideal.span ({a} : Set α) ≠ ⊤ := by intro H; rw [Ideal.span_singleton_eq_top] at H;
     contradiction
   rcases Ideal.exists_le_maximal _ this with ⟨I, Imax, H⟩
   use I, Imax; apply H; apply Ideal.subset_span; exact Set.mem_singleton a
Diff
@@ -604,7 +604,7 @@ theorem sInf_isPrime_of_isChain {s : Set (Ideal α)} (hs : s.Nonempty) (hs' : Is
     let ⟨x, hx⟩ := hs
     (H x hx).ne_top (eq_top_iff.mpr (e.symm.trans_le (sInf_le hx))),
     fun x y e =>
-    or_iff_not_imp_left.mpr fun hx =>
+    Classical.or_iff_not_imp_left.mpr fun hx =>
       by
       rw [Ideal.mem_sInf] at hx e ⊢
       push_neg at hx 
@@ -686,7 +686,7 @@ theorem span_singleton_prime {p : α} (hp : p ≠ 0) : IsPrime (span ({p} : Set
 #print Ideal.IsMaximal.isPrime /-
 theorem IsMaximal.isPrime {I : Ideal α} (H : I.IsMaximal) : I.IsPrime :=
   ⟨H.1.1, fun x y hxy =>
-    or_iff_not_imp_left.2 fun hx =>
+    Classical.or_iff_not_imp_left.2 fun hx =>
       by
       let J : Ideal α := Submodule.span α (insert x ↑I)
       have IJ : I ≤ J := Set.Subset.trans (subset_insert _ _) subset_span
@@ -889,7 +889,7 @@ namespace Ideal
 /-- All ideals in a division (semi)ring are trivial. -/
 theorem eq_bot_or_top : I = ⊥ ∨ I = ⊤ :=
   by
-  rw [or_iff_not_imp_right]
+  rw [Classical.or_iff_not_imp_right]
   change _ ≠ _ → _
   rw [Ideal.ne_top_iff_one]
   intro h1
@@ -907,14 +907,14 @@ instance : IsSimpleOrder (Ideal K) :=
 
 #print Ideal.eq_bot_of_prime /-
 theorem eq_bot_of_prime [h : I.IsPrime] : I = ⊥ :=
-  or_iff_not_imp_right.mp I.eq_bot_or_top h.1
+  Classical.or_iff_not_imp_right.mp I.eq_bot_or_top h.1
 #align ideal.eq_bot_of_prime Ideal.eq_bot_of_prime
 -/
 
 #print Ideal.bot_isMaximal /-
 theorem bot_isMaximal : IsMaximal (⊥ : Ideal K) :=
   ⟨⟨fun h => absurd ((eq_top_iff_one (⊤ : Ideal K)).mp rfl) (by rw [← h] <;> simp), fun I hI =>
-      or_iff_not_imp_left.mp (eq_bot_or_top I) (ne_of_gt hI)⟩⟩
+      Classical.or_iff_not_imp_left.mp (eq_bot_or_top I) (ne_of_gt hI)⟩⟩
 #align ideal.bot_is_maximal Ideal.bot_isMaximal
 -/
 
@@ -1002,7 +1002,7 @@ theorem isField_iff_isSimpleOrder_ideal : IsField R ↔ IsSimpleOrder (Ideal R)
         (false_of_nontrivial_of_subsingleton <| Ideal R).elim⟩
   rw [← not_iff_not, Ring.not_isField_iff_exists_ideal_bot_lt_and_lt_top, ← not_iff_not]
   push_neg
-  simp_rw [lt_top_iff_ne_top, bot_lt_iff_ne_bot, ← or_iff_not_imp_left, not_ne_iff]
+  simp_rw [lt_top_iff_ne_top, bot_lt_iff_ne_bot, ← Classical.or_iff_not_imp_left, not_ne_iff]
   exact ⟨fun h => ⟨h⟩, fun h => h.2⟩
 #align ring.is_field_iff_is_simple_order_ideal Ring.isField_iff_isSimpleOrder_ideal
 -/
Diff
@@ -357,7 +357,7 @@ theorem IsPrime.mem_of_pow_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ
 theorem not_isPrime_iff {I : Ideal α} :
     ¬I.IsPrime ↔ I = ⊤ ∨ ∃ (x : _) (_ : x ∉ I) (y : _) (_ : y ∉ I), x * y ∈ I :=
   by
-  simp_rw [Ideal.isPrime_iff, not_and_or, Ne.def, Classical.not_not, not_forall, not_or]
+  simp_rw [Ideal.isPrime_iff, not_and_or, Ne.def, Classical.not_not, Classical.not_forall, not_or]
   exact
     or_congr Iff.rfl
       ⟨fun ⟨x, y, hxy, hx, hy⟩ => ⟨x, hx, y, hy, hxy⟩, fun ⟨x, hx, y, hy, hxy⟩ =>
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, Chris Hughes, Mario Carneiro
 -/
-import Mathbin.Algebra.Associated
-import Mathbin.LinearAlgebra.Basic
-import Mathbin.Order.Atoms
-import Mathbin.Order.CompactlyGenerated
-import Mathbin.Tactic.Abel
-import Mathbin.Data.Nat.Choose.Sum
-import Mathbin.LinearAlgebra.Finsupp
+import Algebra.Associated
+import LinearAlgebra.Basic
+import Order.Atoms
+import Order.CompactlyGenerated
+import Tactic.Abel
+import Data.Nat.Choose.Sum
+import LinearAlgebra.Finsupp
 
 #align_import ring_theory.ideal.basic from "leanprover-community/mathlib"@"23aa88e32dcc9d2a24cca7bc23268567ed4cd7d6"
 
@@ -351,8 +351,8 @@ theorem IsPrime.mem_of_pow_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ
 #align ideal.is_prime.mem_of_pow_mem Ideal.IsPrime.mem_of_pow_mem
 -/
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ∉ » I) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (y «expr ∉ » I) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (x «expr ∉ » I) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (y «expr ∉ » I) -/
 #print Ideal.not_isPrime_iff /-
 theorem not_isPrime_iff {I : Ideal α} :
     ¬I.IsPrime ↔ I = ⊤ ∨ ∃ (x : _) (_ : x ∉ I) (y : _) (_ : y ∉ I), x * y ∈ I :=
@@ -945,7 +945,7 @@ namespace Ring
 
 variable {R : Type _} [CommSemiring R]
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ≠ » (0 : R)) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:641:2: warning: expanding binder collection (x «expr ≠ » (0 : R)) -/
 #print Ring.exists_not_isUnit_of_not_isField /-
 theorem exists_not_isUnit_of_not_isField [Nontrivial R] (hf : ¬IsField R) :
     ∃ (x : _) (_ : x ≠ (0 : R)), ¬IsUnit x :=
Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2018 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Chris Hughes, Mario Carneiro
-
-! This file was ported from Lean 3 source module ring_theory.ideal.basic
-! leanprover-community/mathlib commit 23aa88e32dcc9d2a24cca7bc23268567ed4cd7d6
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Associated
 import Mathbin.LinearAlgebra.Basic
@@ -16,6 +11,8 @@ import Mathbin.Tactic.Abel
 import Mathbin.Data.Nat.Choose.Sum
 import Mathbin.LinearAlgebra.Finsupp
 
+#align_import ring_theory.ideal.basic from "leanprover-community/mathlib"@"23aa88e32dcc9d2a24cca7bc23268567ed4cd7d6"
+
 /-!
 
 # Ideals over a ring
@@ -354,8 +351,8 @@ theorem IsPrime.mem_of_pow_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ
 #align ideal.is_prime.mem_of_pow_mem Ideal.IsPrime.mem_of_pow_mem
 -/
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (x «expr ∉ » I) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (y «expr ∉ » I) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ∉ » I) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (y «expr ∉ » I) -/
 #print Ideal.not_isPrime_iff /-
 theorem not_isPrime_iff {I : Ideal α} :
     ¬I.IsPrime ↔ I = ⊤ ∨ ∃ (x : _) (_ : x ∉ I) (y : _) (_ : y ∉ I), x * y ∈ I :=
@@ -948,7 +945,7 @@ namespace Ring
 
 variable {R : Type _} [CommSemiring R]
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (x «expr ≠ » (0 : R)) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ≠ » (0 : R)) -/
 #print Ring.exists_not_isUnit_of_not_isField /-
 theorem exists_not_isUnit_of_not_isField [Nontrivial R] (hf : ¬IsField R) :
     ∃ (x : _) (_ : x ≠ (0 : R)), ¬IsUnit x :=
Diff
@@ -59,19 +59,25 @@ namespace Ideal
 
 variable [Semiring α] (I : Ideal α) {a b : α}
 
+#print Ideal.zero_mem /-
 protected theorem zero_mem : (0 : α) ∈ I :=
   I.zero_mem
 #align ideal.zero_mem Ideal.zero_mem
+-/
 
+#print Ideal.add_mem /-
 protected theorem add_mem : a ∈ I → b ∈ I → a + b ∈ I :=
   I.add_mem
 #align ideal.add_mem Ideal.add_mem
+-/
 
 variable (a)
 
+#print Ideal.mul_mem_left /-
 theorem mul_mem_left : b ∈ I → a * b ∈ I :=
   I.smul_mem a
 #align ideal.mul_mem_left Ideal.mul_mem_left
+-/
 
 variable {a}
 
@@ -82,11 +88,14 @@ theorem ext {I J : Ideal α} (h : ∀ x, x ∈ I ↔ x ∈ J) : I = J :=
 #align ideal.ext Ideal.ext
 -/
 
+#print Ideal.sum_mem /-
 theorem sum_mem (I : Ideal α) {ι : Type _} {t : Finset ι} {f : ι → α} :
     (∀ c ∈ t, f c ∈ I) → ∑ i in t, f i ∈ I :=
   Submodule.sum_mem I
 #align ideal.sum_mem Ideal.sum_mem
+-/
 
+#print Ideal.eq_top_of_unit_mem /-
 theorem eq_top_of_unit_mem (x y : α) (hx : x ∈ I) (h : y * x = 1) : I = ⊤ :=
   eq_top_iff.2 fun z _ =>
     calc
@@ -94,20 +103,28 @@ theorem eq_top_of_unit_mem (x y : α) (hx : x ∈ I) (h : y * x = 1) : I = ⊤ :
       _ = z * y * x := (Eq.symm <| mul_assoc z y x)
       _ ∈ I := I.mul_mem_left _ hx
 #align ideal.eq_top_of_unit_mem Ideal.eq_top_of_unit_mem
+-/
 
+#print Ideal.eq_top_of_isUnit_mem /-
 theorem eq_top_of_isUnit_mem {x} (hx : x ∈ I) (h : IsUnit x) : I = ⊤ :=
   let ⟨y, hy⟩ := h.exists_left_inv
   eq_top_of_unit_mem I x y hx hy
 #align ideal.eq_top_of_is_unit_mem Ideal.eq_top_of_isUnit_mem
+-/
 
+#print Ideal.eq_top_iff_one /-
 theorem eq_top_iff_one : I = ⊤ ↔ (1 : α) ∈ I :=
   ⟨by rintro rfl <;> trivial, fun h => eq_top_of_unit_mem _ _ 1 h (by simp)⟩
 #align ideal.eq_top_iff_one Ideal.eq_top_iff_one
+-/
 
+#print Ideal.ne_top_iff_one /-
 theorem ne_top_iff_one : I ≠ ⊤ ↔ (1 : α) ∉ I :=
   not_congr I.eq_top_iff_one
 #align ideal.ne_top_iff_one Ideal.ne_top_iff_one
+-/
 
+#print Ideal.unit_mul_mem_iff_mem /-
 @[simp]
 theorem unit_mul_mem_iff_mem {x y : α} (hy : IsUnit y) : y * x ∈ I ↔ x ∈ I :=
   by
@@ -116,6 +133,7 @@ theorem unit_mul_mem_iff_mem {x y : α} (hy : IsUnit y) : y * x ∈ I ↔ x ∈
   have := I.mul_mem_left y' h
   rwa [← mul_assoc, hy', one_mul] at this 
 #align ideal.unit_mul_mem_iff_mem Ideal.unit_mul_mem_iff_mem
+-/
 
 #print Ideal.span /-
 /-- The ideal generated by a subset of a ring -/
@@ -131,23 +149,31 @@ theorem submodule_span_eq {s : Set α} : Submodule.span α s = Ideal.span s :=
 #align ideal.submodule_span_eq Ideal.submodule_span_eq
 -/
 
+#print Ideal.span_empty /-
 @[simp]
 theorem span_empty : span (∅ : Set α) = ⊥ :=
   Submodule.span_empty
 #align ideal.span_empty Ideal.span_empty
+-/
 
+#print Ideal.span_univ /-
 @[simp]
 theorem span_univ : span (Set.univ : Set α) = ⊤ :=
   Submodule.span_univ
 #align ideal.span_univ Ideal.span_univ
+-/
 
+#print Ideal.span_union /-
 theorem span_union (s t : Set α) : span (s ∪ t) = span s ⊔ span t :=
   Submodule.span_union _ _
 #align ideal.span_union Ideal.span_union
+-/
 
+#print Ideal.span_iUnion /-
 theorem span_iUnion {ι} (s : ι → Set α) : span (⋃ i, s i) = ⨆ i, span (s i) :=
   Submodule.span_iUnion _
 #align ideal.span_Union Ideal.span_iUnion
+-/
 
 #print Ideal.mem_span /-
 theorem mem_span {s : Set α} (x) : x ∈ span s ↔ ∀ p : Ideal α, s ⊆ p → x ∈ p :=
@@ -161,13 +187,17 @@ theorem subset_span {s : Set α} : s ⊆ span s :=
 #align ideal.subset_span Ideal.subset_span
 -/
 
+#print Ideal.span_le /-
 theorem span_le {s : Set α} {I} : span s ≤ I ↔ s ⊆ I :=
   Submodule.span_le
 #align ideal.span_le Ideal.span_le
+-/
 
+#print Ideal.span_mono /-
 theorem span_mono {s t : Set α} : s ⊆ t → span s ≤ span t :=
   Submodule.span_mono
 #align ideal.span_mono Ideal.span_mono
+-/
 
 #print Ideal.span_eq /-
 @[simp]
@@ -176,66 +206,91 @@ theorem span_eq : span (I : Set α) = I :=
 #align ideal.span_eq Ideal.span_eq
 -/
 
+#print Ideal.span_singleton_one /-
 @[simp]
 theorem span_singleton_one : span ({1} : Set α) = ⊤ :=
   (eq_top_iff_one _).2 <| subset_span <| mem_singleton _
 #align ideal.span_singleton_one Ideal.span_singleton_one
+-/
 
+#print Ideal.mem_span_insert /-
 theorem mem_span_insert {s : Set α} {x y} :
     x ∈ span (insert y s) ↔ ∃ a, ∃ z ∈ span s, x = a * y + z :=
   Submodule.mem_span_insert
 #align ideal.mem_span_insert Ideal.mem_span_insert
+-/
 
+#print Ideal.mem_span_singleton' /-
 theorem mem_span_singleton' {x y : α} : x ∈ span ({y} : Set α) ↔ ∃ a, a * y = x :=
   Submodule.mem_span_singleton
 #align ideal.mem_span_singleton' Ideal.mem_span_singleton'
+-/
 
+#print Ideal.span_singleton_le_iff_mem /-
 theorem span_singleton_le_iff_mem {x : α} : span {x} ≤ I ↔ x ∈ I :=
   Submodule.span_singleton_le_iff_mem _ _
 #align ideal.span_singleton_le_iff_mem Ideal.span_singleton_le_iff_mem
+-/
 
+#print Ideal.span_singleton_mul_left_unit /-
 theorem span_singleton_mul_left_unit {a : α} (h2 : IsUnit a) (x : α) :
     span ({a * x} : Set α) = span {x} :=
   by
   apply le_antisymm <;> rw [span_singleton_le_iff_mem, mem_span_singleton']
   exacts [⟨a, rfl⟩, ⟨_, h2.unit.inv_mul_cancel_left x⟩]
 #align ideal.span_singleton_mul_left_unit Ideal.span_singleton_mul_left_unit
+-/
 
+#print Ideal.span_insert /-
 theorem span_insert (x) (s : Set α) : span (insert x s) = span ({x} : Set α) ⊔ span s :=
   Submodule.span_insert x s
 #align ideal.span_insert Ideal.span_insert
+-/
 
+#print Ideal.span_eq_bot /-
 theorem span_eq_bot {s : Set α} : span s = ⊥ ↔ ∀ x ∈ s, (x : α) = 0 :=
   Submodule.span_eq_bot
 #align ideal.span_eq_bot Ideal.span_eq_bot
+-/
 
+#print Ideal.span_singleton_eq_bot /-
 @[simp]
 theorem span_singleton_eq_bot {x} : span ({x} : Set α) = ⊥ ↔ x = 0 :=
   Submodule.span_singleton_eq_bot
 #align ideal.span_singleton_eq_bot Ideal.span_singleton_eq_bot
+-/
 
+#print Ideal.span_singleton_ne_top /-
 theorem span_singleton_ne_top {α : Type _} [CommSemiring α] {x : α} (hx : ¬IsUnit x) :
     Ideal.span ({x} : Set α) ≠ ⊤ :=
   (Ideal.ne_top_iff_one _).mpr fun h1 =>
     let ⟨y, hy⟩ := Ideal.mem_span_singleton'.mp h1
     hx ⟨⟨x, y, mul_comm y x ▸ hy, hy⟩, rfl⟩
 #align ideal.span_singleton_ne_top Ideal.span_singleton_ne_top
+-/
 
+#print Ideal.span_zero /-
 @[simp]
 theorem span_zero : span (0 : Set α) = ⊥ := by rw [← Set.singleton_zero, span_singleton_eq_bot]
 #align ideal.span_zero Ideal.span_zero
+-/
 
+#print Ideal.span_one /-
 @[simp]
 theorem span_one : span (1 : Set α) = ⊤ := by rw [← Set.singleton_one, span_singleton_one]
 #align ideal.span_one Ideal.span_one
+-/
 
+#print Ideal.span_eq_top_iff_finite /-
 theorem span_eq_top_iff_finite (s : Set α) :
     span s = ⊤ ↔ ∃ s' : Finset α, ↑s' ⊆ s ∧ span (s' : Set α) = ⊤ :=
   by
   simp_rw [eq_top_iff_one]
   exact ⟨Submodule.mem_span_finite_of_mem_span, fun ⟨s', h₁, h₂⟩ => span_mono h₁ h₂⟩
 #align ideal.span_eq_top_iff_finite Ideal.span_eq_top_iff_finite
+-/
 
+#print Ideal.mem_span_singleton_sup /-
 theorem mem_span_singleton_sup {S : Type _} [CommSemiring S] {x y : S} {I : Ideal S} :
     x ∈ Ideal.span {y} ⊔ I ↔ ∃ a : S, ∃ b ∈ I, a * y + b = x :=
   by
@@ -247,6 +302,7 @@ theorem mem_span_singleton_sup {S : Type _} [CommSemiring S] {x y : S} {I : Idea
   · rintro ⟨a, b, hb, rfl⟩
     exact ⟨a * y, ideal.mem_span_singleton'.mpr ⟨a, rfl⟩, b, hb, rfl⟩
 #align ideal.mem_span_singleton_sup Ideal.mem_span_singleton_sup
+-/
 
 #print Ideal.ofRel /-
 /-- The ideal generated by an arbitrary binary relation.
@@ -264,22 +320,30 @@ class IsPrime (I : Ideal α) : Prop where
 #align ideal.is_prime Ideal.IsPrime
 -/
 
+#print Ideal.isPrime_iff /-
 theorem isPrime_iff {I : Ideal α} : IsPrime I ↔ I ≠ ⊤ ∧ ∀ {x y : α}, x * y ∈ I → x ∈ I ∨ y ∈ I :=
   ⟨fun h => ⟨h.1, fun _ _ => h.2⟩, fun h => ⟨h.1, fun _ _ => h.2⟩⟩
 #align ideal.is_prime_iff Ideal.isPrime_iff
+-/
 
+#print Ideal.IsPrime.ne_top /-
 theorem IsPrime.ne_top {I : Ideal α} (hI : I.IsPrime) : I ≠ ⊤ :=
   hI.1
 #align ideal.is_prime.ne_top Ideal.IsPrime.ne_top
+-/
 
+#print Ideal.IsPrime.mem_or_mem /-
 theorem IsPrime.mem_or_mem {I : Ideal α} (hI : I.IsPrime) {x y : α} : x * y ∈ I → x ∈ I ∨ y ∈ I :=
   hI.2
 #align ideal.is_prime.mem_or_mem Ideal.IsPrime.mem_or_mem
+-/
 
+#print Ideal.IsPrime.mem_or_mem_of_mul_eq_zero /-
 theorem IsPrime.mem_or_mem_of_mul_eq_zero {I : Ideal α} (hI : I.IsPrime) {x y : α} (h : x * y = 0) :
     x ∈ I ∨ y ∈ I :=
   hI.mem_or_mem (h.symm ▸ I.zero_mem)
 #align ideal.is_prime.mem_or_mem_of_mul_eq_zero Ideal.IsPrime.mem_or_mem_of_mul_eq_zero
+-/
 
 #print Ideal.IsPrime.mem_of_pow_mem /-
 theorem IsPrime.mem_of_pow_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ) (H : r ^ n ∈ I) :
@@ -292,6 +356,7 @@ theorem IsPrime.mem_of_pow_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ
 
 /- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (x «expr ∉ » I) -/
 /- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (y «expr ∉ » I) -/
+#print Ideal.not_isPrime_iff /-
 theorem not_isPrime_iff {I : Ideal α} :
     ¬I.IsPrime ↔ I = ⊤ ∨ ∃ (x : _) (_ : x ∉ I) (y : _) (_ : y ∉ I), x * y ∈ I :=
   by
@@ -301,15 +366,20 @@ theorem not_isPrime_iff {I : Ideal α} :
       ⟨fun ⟨x, y, hxy, hx, hy⟩ => ⟨x, hx, y, hy, hxy⟩, fun ⟨x, hx, y, hy, hxy⟩ =>
         ⟨x, y, hxy, hx, hy⟩⟩
 #align ideal.not_is_prime_iff Ideal.not_isPrime_iff
+-/
 
+#print Ideal.zero_ne_one_of_proper /-
 theorem zero_ne_one_of_proper {I : Ideal α} (h : I ≠ ⊤) : (0 : α) ≠ 1 := fun hz =>
   I.ne_top_iff_one.1 h <| hz ▸ I.zero_mem
 #align ideal.zero_ne_one_of_proper Ideal.zero_ne_one_of_proper
+-/
 
+#print Ideal.bot_prime /-
 theorem bot_prime {R : Type _} [Ring R] [IsDomain R] : (⊥ : Ideal R).IsPrime :=
   ⟨fun h => one_ne_zero (by rwa [Ideal.eq_top_iff_one, Submodule.mem_bot] at h ), fun x y h =>
     mul_eq_zero.mp (by simpa only [Submodule.mem_bot] using h)⟩
 #align ideal.bot_prime Ideal.bot_prime
+-/
 
 #print Ideal.IsMaximal /-
 /-- An ideal is maximal if it is maximal in the collection of proper ideals. -/
@@ -318,14 +388,19 @@ class IsMaximal (I : Ideal α) : Prop where
 #align ideal.is_maximal Ideal.IsMaximal
 -/
 
+#print Ideal.isMaximal_def /-
 theorem isMaximal_def {I : Ideal α} : I.IsMaximal ↔ IsCoatom I :=
   ⟨fun h => h.1, fun h => ⟨h⟩⟩
 #align ideal.is_maximal_def Ideal.isMaximal_def
+-/
 
+#print Ideal.IsMaximal.ne_top /-
 theorem IsMaximal.ne_top {I : Ideal α} (h : I.IsMaximal) : I ≠ ⊤ :=
   (isMaximal_def.1 h).1
 #align ideal.is_maximal.ne_top Ideal.IsMaximal.ne_top
+-/
 
+#print Ideal.isMaximal_iff /-
 theorem isMaximal_iff {I : Ideal α} :
     I.IsMaximal ↔ (1 : α) ∉ I ∧ ∀ (J : Ideal α) (x), I ≤ J → x ∉ I → x ∈ J → (1 : α) ∈ J :=
   isMaximal_def.trans <|
@@ -338,10 +413,13 @@ theorem isMaximal_iff {I : Ideal α} :
               let ⟨x, xJ, xI⟩ := not_subset.1 h₂
               J.eq_top_iff_one.2 <| H x h₁ xI xJ⟩
 #align ideal.is_maximal_iff Ideal.isMaximal_iff
+-/
 
+#print Ideal.IsMaximal.eq_of_le /-
 theorem IsMaximal.eq_of_le {I J : Ideal α} (hI : I.IsMaximal) (hJ : J ≠ ⊤) (IJ : I ≤ J) : I = J :=
   eq_iff_le_not_lt.2 ⟨IJ, fun h => hJ (hI.1.2 _ h)⟩
 #align ideal.is_maximal.eq_of_le Ideal.IsMaximal.eq_of_le
+-/
 
 instance : IsCoatomic (Ideal α) :=
   by
@@ -349,18 +427,22 @@ instance : IsCoatomic (Ideal α) :=
   rw [← span_singleton_one]
   exact Submodule.singleton_span_isCompactElement 1
 
+#print Ideal.IsMaximal.coprime_of_ne /-
 theorem IsMaximal.coprime_of_ne {M M' : Ideal α} (hM : M.IsMaximal) (hM' : M'.IsMaximal)
     (hne : M ≠ M') : M ⊔ M' = ⊤ := by
   contrapose! hne with h
   exact hM.eq_of_le hM'.ne_top (le_sup_left.trans_eq (hM'.eq_of_le h le_sup_right).symm)
 #align ideal.is_maximal.coprime_of_ne Ideal.IsMaximal.coprime_of_ne
+-/
 
+#print Ideal.exists_le_maximal /-
 /-- **Krull's theorem**: if `I` is an ideal that is not the whole ring, then it is included in some
     maximal ideal. -/
 theorem exists_le_maximal (I : Ideal α) (hI : I ≠ ⊤) : ∃ M : Ideal α, M.IsMaximal ∧ I ≤ M :=
   let ⟨m, hm⟩ := (eq_top_or_exists_le_coatom I).resolve_left hI
   ⟨m, ⟨⟨hm.1⟩, hm.2⟩⟩
 #align ideal.exists_le_maximal Ideal.exists_le_maximal
+-/
 
 variable (α)
 
@@ -379,6 +461,7 @@ instance [Nontrivial α] : Nontrivial (Ideal α) :=
   rcases@exists_maximal α _ _ with ⟨M, hM, _⟩
   exact nontrivial_of_ne M ⊤ hM
 
+#print Ideal.maximal_of_no_maximal /-
 /-- If P is not properly contained in any maximal ideal then it is not properly contained
   in any proper ideal -/
 theorem maximal_of_no_maximal {R : Type u} [Semiring R] {P : Ideal R}
@@ -388,6 +471,7 @@ theorem maximal_of_no_maximal {R : Type u} [Semiring R] {P : Ideal R}
   rcases exists_le_maximal J hnonmax with ⟨M, hM1, hM2⟩
   exact hmax M (lt_of_lt_of_le hPJ hM2) hM1
 #align ideal.maximal_of_no_maximal Ideal.maximal_of_no_maximal
+-/
 
 #print Ideal.span_pair_comm /-
 theorem span_pair_comm {x y : α} : (span {x, y} : Ideal α) = span {y, x} := by
@@ -395,10 +479,13 @@ theorem span_pair_comm {x y : α} : (span {x, y} : Ideal α) = span {y, x} := by
 #align ideal.span_pair_comm Ideal.span_pair_comm
 -/
 
+#print Ideal.mem_span_pair /-
 theorem mem_span_pair {x y z : α} : z ∈ span ({x, y} : Set α) ↔ ∃ a b, a * x + b * y = z :=
   Submodule.mem_span_pair
 #align ideal.mem_span_pair Ideal.mem_span_pair
+-/
 
+#print Ideal.span_pair_add_mul_left /-
 @[simp]
 theorem span_pair_add_mul_left {R : Type u} [CommRing R] {x y : R} (z : R) :
     (span {x + y * z, y} : Ideal R) = span {x, y} :=
@@ -409,13 +496,17 @@ theorem span_pair_add_mul_left {R : Type u} [CommRing R] {x y : R} (z : R) :
     ⟨fun ⟨a, b, h⟩ => ⟨a, b + a * z, by rw [← h]; ring1⟩, fun ⟨a, b, h⟩ =>
       ⟨a, b - a * z, by rw [← h]; ring1⟩⟩
 #align ideal.span_pair_add_mul_left Ideal.span_pair_add_mul_left
+-/
 
+#print Ideal.span_pair_add_mul_right /-
 @[simp]
 theorem span_pair_add_mul_right {R : Type u} [CommRing R] {x y : R} (z : R) :
     (span {x, y + x * z} : Ideal R) = span {x, y} := by
   rw [span_pair_comm, span_pair_add_mul_left, span_pair_comm]
 #align ideal.span_pair_add_mul_right Ideal.span_pair_add_mul_right
+-/
 
+#print Ideal.IsMaximal.exists_inv /-
 theorem IsMaximal.exists_inv {I : Ideal α} (hI : I.IsMaximal) {x} (hx : x ∉ I) :
     ∃ y, ∃ i ∈ I, y * x + i = 1 :=
   by
@@ -427,46 +518,63 @@ theorem IsMaximal.exists_inv {I : Ideal α} (hI : I.IsMaximal) {x} (hx : x ∉ I
   refine' ⟨y, z, _, hy.symm⟩
   rwa [← span_eq I]
 #align ideal.is_maximal.exists_inv Ideal.IsMaximal.exists_inv
+-/
 
 section Lattice
 
 variable {R : Type u} [Semiring R]
 
+#print Ideal.mem_sup_left /-
 theorem mem_sup_left {S T : Ideal R} : ∀ {x : R}, x ∈ S → x ∈ S ⊔ T :=
   show S ≤ S ⊔ T from le_sup_left
 #align ideal.mem_sup_left Ideal.mem_sup_left
+-/
 
+#print Ideal.mem_sup_right /-
 theorem mem_sup_right {S T : Ideal R} : ∀ {x : R}, x ∈ T → x ∈ S ⊔ T :=
   show T ≤ S ⊔ T from le_sup_right
 #align ideal.mem_sup_right Ideal.mem_sup_right
+-/
 
+#print Ideal.mem_iSup_of_mem /-
 theorem mem_iSup_of_mem {ι : Sort _} {S : ι → Ideal R} (i : ι) : ∀ {x : R}, x ∈ S i → x ∈ iSup S :=
   show S i ≤ iSup S from le_iSup _ _
 #align ideal.mem_supr_of_mem Ideal.mem_iSup_of_mem
+-/
 
+#print Ideal.mem_sSup_of_mem /-
 theorem mem_sSup_of_mem {S : Set (Ideal R)} {s : Ideal R} (hs : s ∈ S) :
     ∀ {x : R}, x ∈ s → x ∈ sSup S :=
   show s ≤ sSup S from le_sSup hs
 #align ideal.mem_Sup_of_mem Ideal.mem_sSup_of_mem
+-/
 
+#print Ideal.mem_sInf /-
 theorem mem_sInf {s : Set (Ideal R)} {x : R} : x ∈ sInf s ↔ ∀ ⦃I⦄, I ∈ s → x ∈ I :=
   ⟨fun hx I his => hx I ⟨I, iInf_pos his⟩, fun H I ⟨J, hij⟩ => hij ▸ fun S ⟨hj, hS⟩ => hS ▸ H hj⟩
 #align ideal.mem_Inf Ideal.mem_sInf
+-/
 
+#print Ideal.mem_inf /-
 @[simp]
 theorem mem_inf {I J : Ideal R} {x : R} : x ∈ I ⊓ J ↔ x ∈ I ∧ x ∈ J :=
   Iff.rfl
 #align ideal.mem_inf Ideal.mem_inf
+-/
 
+#print Ideal.mem_iInf /-
 @[simp]
 theorem mem_iInf {ι : Sort _} {I : ι → Ideal R} {x : R} : x ∈ iInf I ↔ ∀ i, x ∈ I i :=
   Submodule.mem_iInf _
 #align ideal.mem_infi Ideal.mem_iInf
+-/
 
+#print Ideal.mem_bot /-
 @[simp]
 theorem mem_bot {x : R} : x ∈ (⊥ : Ideal R) ↔ x = 0 :=
   Submodule.mem_bot _
 #align ideal.mem_bot Ideal.mem_bot
+-/
 
 end Lattice
 
@@ -492,6 +600,7 @@ theorem mem_pi (x : ι → α) : x ∈ I.pi ι ↔ ∀ i, x i ∈ I :=
 
 end Pi
 
+#print Ideal.sInf_isPrime_of_isChain /-
 theorem sInf_isPrime_of_isChain {s : Set (Ideal α)} (hs : s.Nonempty) (hs' : IsChain (· ≤ ·) s)
     (H : ∀ p ∈ s, Ideal.IsPrime p) : (sInf s).IsPrime :=
   ⟨fun e =>
@@ -508,6 +617,7 @@ theorem sInf_isPrime_of_isChain {s : Set (Ideal α)} (hs : s.Nonempty) (hs' : Is
       · exact h (((H I hI).mem_or_mem (e hI)).resolve_left hI')
       · exact ((H J hJ).mem_or_mem (e hJ)).resolve_left fun x => hI' <| h x⟩
 #align ideal.Inf_is_prime_of_is_chain Ideal.sInf_isPrime_of_isChain
+-/
 
 end Ideal
 
@@ -523,10 +633,12 @@ namespace Ideal
 
 variable [CommSemiring α] (I : Ideal α)
 
+#print Ideal.mul_unit_mem_iff_mem /-
 @[simp]
 theorem mul_unit_mem_iff_mem {x y : α} (hy : IsUnit y) : x * y ∈ I ↔ x ∈ I :=
   mul_comm y x ▸ unit_mul_mem_iff_mem I hy
 #align ideal.mul_unit_mem_iff_mem Ideal.mul_unit_mem_iff_mem
+-/
 
 #print Ideal.mem_span_singleton /-
 theorem mem_span_singleton {x y : α} : x ∈ span ({y} : Set α) ↔ y ∣ x :=
@@ -540,29 +652,39 @@ theorem mem_span_singleton_self (x : α) : x ∈ span ({x} : Set α) :=
 #align ideal.mem_span_singleton_self Ideal.mem_span_singleton_self
 -/
 
+#print Ideal.span_singleton_le_span_singleton /-
 theorem span_singleton_le_span_singleton {x y : α} :
     span ({x} : Set α) ≤ span ({y} : Set α) ↔ y ∣ x :=
   span_le.trans <| singleton_subset_iff.trans mem_span_singleton
 #align ideal.span_singleton_le_span_singleton Ideal.span_singleton_le_span_singleton
+-/
 
+#print Ideal.span_singleton_eq_span_singleton /-
 theorem span_singleton_eq_span_singleton {α : Type u} [CommRing α] [IsDomain α] {x y : α} :
     span ({x} : Set α) = span ({y} : Set α) ↔ Associated x y :=
   by
   rw [← dvd_dvd_iff_associated, le_antisymm_iff, and_comm']
   apply and_congr <;> rw [span_singleton_le_span_singleton]
 #align ideal.span_singleton_eq_span_singleton Ideal.span_singleton_eq_span_singleton
+-/
 
+#print Ideal.span_singleton_mul_right_unit /-
 theorem span_singleton_mul_right_unit {a : α} (h2 : IsUnit a) (x : α) :
     span ({x * a} : Set α) = span {x} := by rw [mul_comm, span_singleton_mul_left_unit h2]
 #align ideal.span_singleton_mul_right_unit Ideal.span_singleton_mul_right_unit
+-/
 
+#print Ideal.span_singleton_eq_top /-
 theorem span_singleton_eq_top {x} : span ({x} : Set α) = ⊤ ↔ IsUnit x := by
   rw [isUnit_iff_dvd_one, ← span_singleton_le_span_singleton, span_singleton_one, eq_top_iff]
 #align ideal.span_singleton_eq_top Ideal.span_singleton_eq_top
+-/
 
+#print Ideal.span_singleton_prime /-
 theorem span_singleton_prime {p : α} (hp : p ≠ 0) : IsPrime (span ({p} : Set α)) ↔ Prime p := by
   simp [is_prime_iff, Prime, span_singleton_eq_top, hp, mem_span_singleton]
 #align ideal.span_singleton_prime Ideal.span_singleton_prime
+-/
 
 #print Ideal.IsMaximal.isPrime /-
 theorem IsMaximal.isPrime {I : Ideal α} (H : I.IsMaximal) : I.IsPrime :=
@@ -589,12 +711,15 @@ instance (priority := 100) IsMaximal.isPrime' (I : Ideal α) : ∀ [H : I.IsMaxi
 #align ideal.is_maximal.is_prime' Ideal.IsMaximal.isPrime'
 -/
 
+#print Ideal.span_singleton_lt_span_singleton /-
 theorem span_singleton_lt_span_singleton [CommRing β] [IsDomain β] {x y : β} :
     span ({x} : Set β) < span ({y} : Set β) ↔ DvdNotUnit y x := by
   rw [lt_iff_le_not_le, span_singleton_le_span_singleton, span_singleton_le_span_singleton,
     dvd_and_not_dvd_iff]
 #align ideal.span_singleton_lt_span_singleton Ideal.span_singleton_lt_span_singleton
+-/
 
+#print Ideal.factors_decreasing /-
 theorem factors_decreasing [CommRing β] [IsDomain β] (b₁ b₂ : β) (h₁ : b₁ ≠ 0) (h₂ : ¬IsUnit b₂) :
     span ({b₁ * b₂} : Set β) < span {b₁} :=
   lt_of_le_not_le
@@ -603,12 +728,15 @@ theorem factors_decreasing [CommRing β] [IsDomain β] (b₁ b₂ : β) (h₁ :
       isUnit_of_dvd_one _ <|
         (mul_dvd_mul_iff_left h₁).1 <| by rwa [mul_one, ← Ideal.span_singleton_le_span_singleton]
 #align ideal.factors_decreasing Ideal.factors_decreasing
+-/
 
 variable (b)
 
+#print Ideal.mul_mem_right /-
 theorem mul_mem_right (h : a ∈ I) : a * b ∈ I :=
   mul_comm b a ▸ I.mul_mem_left b h
 #align ideal.mul_mem_right Ideal.mul_mem_right
+-/
 
 variable {b}
 
@@ -619,10 +747,12 @@ theorem pow_mem_of_mem (ha : a ∈ I) (n : ℕ) (hn : 0 < n) : a ^ n ∈ I :=
 #align ideal.pow_mem_of_mem Ideal.pow_mem_of_mem
 -/
 
+#print Ideal.IsPrime.mul_mem_iff_mem_or_mem /-
 theorem IsPrime.mul_mem_iff_mem_or_mem {I : Ideal α} (hI : I.IsPrime) :
     ∀ {x y : α}, x * y ∈ I ↔ x ∈ I ∨ y ∈ I := fun x y =>
   ⟨hI.mem_or_mem, by rintro (h | h); exacts [I.mul_mem_right y h, I.mul_mem_left x h]⟩
 #align ideal.is_prime.mul_mem_iff_mem_or_mem Ideal.IsPrime.mul_mem_iff_mem_or_mem
+-/
 
 #print Ideal.IsPrime.pow_mem_iff_mem /-
 theorem IsPrime.pow_mem_iff_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ) (hn : 0 < n) :
@@ -631,6 +761,7 @@ theorem IsPrime.pow_mem_iff_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : 
 #align ideal.is_prime.pow_mem_iff_mem Ideal.IsPrime.pow_mem_iff_mem
 -/
 
+#print Ideal.pow_multiset_sum_mem_span_pow /-
 theorem pow_multiset_sum_mem_span_pow (s : Multiset α) (n : ℕ) :
     s.Sum ^ (s.card * n + 1) ∈ span ((s.map fun x => x ^ (n + 1)).toFinset : Set α) :=
   by
@@ -658,7 +789,9 @@ theorem pow_multiset_sum_mem_span_pow (s : Multiset α) (n : ℕ) :
     simp_rw [mul_assoc, mul_comm (s.sum ^ (s.card * n + 1)), ← mul_assoc]
     exact mul_mem_left _ _ hs
 #align ideal.pow_multiset_sum_mem_span_pow Ideal.pow_multiset_sum_mem_span_pow
+-/
 
+#print Ideal.sum_pow_mem_span_pow /-
 theorem sum_pow_mem_span_pow {ι} (s : Finset ι) (f : ι → α) (n : ℕ) :
     (∑ i in s, f i) ^ (s.card * n + 1) ∈ span ((fun i => f i ^ (n + 1)) '' s) :=
   by
@@ -666,7 +799,9 @@ theorem sum_pow_mem_span_pow {ι} (s : Finset ι) (f : ι → α) (n : ℕ) :
   · rw [Multiset.card_map]; rfl
   rw [Multiset.map_map, Multiset.toFinset_map, Finset.val_toFinset, Finset.coe_image]
 #align ideal.sum_pow_mem_span_pow Ideal.sum_pow_mem_span_pow
+-/
 
+#print Ideal.span_pow_eq_top /-
 theorem span_pow_eq_top (s : Set α) (hs : span s = ⊤) (n : ℕ) : span ((fun x => x ^ n) '' s) = ⊤ :=
   by
   rw [eq_top_iff_one]
@@ -692,6 +827,7 @@ theorem span_pow_eq_top (s : Set α) (hs : span s = ⊤) (n : ℕ) : span ((fun
   rw [mul_pow, mem_span_singleton]
   exact ⟨f x ^ (n + 1), mul_comm _ _⟩
 #align ideal.span_pow_eq_top Ideal.span_pow_eq_top
+-/
 
 end Ideal
 
@@ -703,32 +839,44 @@ namespace Ideal
 
 variable [Ring α] (I : Ideal α) {a b : α}
 
+#print Ideal.neg_mem_iff /-
 protected theorem neg_mem_iff : -a ∈ I ↔ a ∈ I :=
   neg_mem_iff
 #align ideal.neg_mem_iff Ideal.neg_mem_iff
+-/
 
+#print Ideal.add_mem_iff_left /-
 protected theorem add_mem_iff_left : b ∈ I → (a + b ∈ I ↔ a ∈ I) :=
   I.add_mem_iff_left
 #align ideal.add_mem_iff_left Ideal.add_mem_iff_left
+-/
 
+#print Ideal.add_mem_iff_right /-
 protected theorem add_mem_iff_right : a ∈ I → (a + b ∈ I ↔ b ∈ I) :=
   I.add_mem_iff_right
 #align ideal.add_mem_iff_right Ideal.add_mem_iff_right
+-/
 
+#print Ideal.sub_mem /-
 protected theorem sub_mem : a ∈ I → b ∈ I → a - b ∈ I :=
   sub_mem
 #align ideal.sub_mem Ideal.sub_mem
+-/
 
+#print Ideal.mem_span_insert' /-
 theorem mem_span_insert' {s : Set α} {x y} : x ∈ span (insert y s) ↔ ∃ a, x + a * y ∈ span s :=
   Submodule.mem_span_insert'
 #align ideal.mem_span_insert' Ideal.mem_span_insert'
+-/
 
+#print Ideal.span_singleton_neg /-
 @[simp]
 theorem span_singleton_neg (x : α) : (span {-x} : Ideal α) = span {x} :=
   by
   ext; simp only [mem_span_singleton']
   exact ⟨fun ⟨y, h⟩ => ⟨-y, h ▸ neg_mul_comm y x⟩, fun ⟨y, h⟩ => ⟨-y, h ▸ neg_mul_neg y x⟩⟩
 #align ideal.span_singleton_neg Ideal.span_singleton_neg
+-/
 
 end Ideal
 
@@ -740,6 +888,7 @@ variable {K : Type u} [DivisionSemiring K] (I : Ideal K)
 
 namespace Ideal
 
+#print Ideal.eq_bot_or_top /-
 /-- All ideals in a division (semi)ring are trivial. -/
 theorem eq_bot_or_top : I = ⊥ ∨ I = ⊤ :=
   by
@@ -752,20 +901,25 @@ theorem eq_bot_or_top : I = ⊥ ∨ I = ⊤ :=
   by_cases H : r = 0; · simpa
   simpa [H, h1] using I.mul_mem_left r⁻¹ hr
 #align ideal.eq_bot_or_top Ideal.eq_bot_or_top
+-/
 
 /-- Ideals of a `division_semiring` are a simple order. Thanks to the way abbreviations work,
 this automatically gives a `is_simple_module K` instance. -/
 instance : IsSimpleOrder (Ideal K) :=
   ⟨eq_bot_or_top⟩
 
+#print Ideal.eq_bot_of_prime /-
 theorem eq_bot_of_prime [h : I.IsPrime] : I = ⊥ :=
   or_iff_not_imp_right.mp I.eq_bot_or_top h.1
 #align ideal.eq_bot_of_prime Ideal.eq_bot_of_prime
+-/
 
+#print Ideal.bot_isMaximal /-
 theorem bot_isMaximal : IsMaximal (⊥ : Ideal K) :=
   ⟨⟨fun h => absurd ((eq_top_iff_one (⊤ : Ideal K)).mp rfl) (by rw [← h] <;> simp), fun I hI =>
       or_iff_not_imp_left.mp (eq_bot_or_top I) (ne_of_gt hI)⟩⟩
 #align ideal.bot_is_maximal Ideal.bot_isMaximal
+-/
 
 end Ideal
 
@@ -775,12 +929,14 @@ section CommRing
 
 namespace Ideal
 
+#print Ideal.mul_sub_mul_mem /-
 theorem mul_sub_mul_mem {R : Type _} [CommRing R] (I : Ideal R) {a b c d : R} (h1 : a - b ∈ I)
     (h2 : c - d ∈ I) : a * c - b * d ∈ I :=
   by
   rw [show a * c - b * d = (a - b) * c + b * (c - d) by rw [sub_mul, mul_sub]; abel]
   exact I.add_mem (I.mul_mem_right _ h1) (I.mul_mem_left _ h2)
 #align ideal.mul_sub_mul_mem Ideal.mul_sub_mul_mem
+-/
 
 end Ideal
 
@@ -793,6 +949,7 @@ namespace Ring
 variable {R : Type _} [CommSemiring R]
 
 /- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (x «expr ≠ » (0 : R)) -/
+#print Ring.exists_not_isUnit_of_not_isField /-
 theorem exists_not_isUnit_of_not_isField [Nontrivial R] (hf : ¬IsField R) :
     ∃ (x : _) (_ : x ≠ (0 : R)), ¬IsUnit x :=
   by
@@ -802,7 +959,9 @@ theorem exists_not_isUnit_of_not_isField [Nontrivial R] (hf : ¬IsField R) :
   obtain ⟨x, hx, not_unit⟩ := this
   exact ⟨x, hx, not_unit⟩
 #align ring.exists_not_is_unit_of_not_is_field Ring.exists_not_isUnit_of_not_isField
+-/
 
+#print Ring.not_isField_iff_exists_ideal_bot_lt_and_lt_top /-
 theorem not_isField_iff_exists_ideal_bot_lt_and_lt_top [Nontrivial R] :
     ¬IsField R ↔ ∃ I : Ideal R, ⊥ < I ∧ I < ⊤ :=
   by
@@ -819,7 +978,9 @@ theorem not_isField_iff_exists_ideal_bot_lt_and_lt_top [Nontrivial R] :
     rw [lt_top_iff_ne_top, Ne.def, Ideal.eq_top_iff_one, ← hy] at lt_top 
     exact lt_top (I.mul_mem_right _ mem)
 #align ring.not_is_field_iff_exists_ideal_bot_lt_and_lt_top Ring.not_isField_iff_exists_ideal_bot_lt_and_lt_top
+-/
 
+#print Ring.not_isField_iff_exists_prime /-
 theorem not_isField_iff_exists_prime [Nontrivial R] :
     ¬IsField R ↔ ∃ p : Ideal R, p ≠ ⊥ ∧ p.IsPrime :=
   not_isField_iff_exists_ideal_bot_lt_and_lt_top.trans
@@ -828,7 +989,9 @@ theorem not_isField_iff_exists_prime [Nontrivial R] :
       ⟨p, bot_lt_iff_ne_bot.mp (lt_of_lt_of_le bot_lt le_p), hp.IsPrime⟩,
       fun ⟨p, ne_bot, Prime⟩ => ⟨p, bot_lt_iff_ne_bot.mpr ne_bot, lt_top_iff_ne_top.mpr Prime.1⟩⟩
 #align ring.not_is_field_iff_exists_prime Ring.not_isField_iff_exists_prime
+-/
 
+#print Ring.isField_iff_isSimpleOrder_ideal /-
 /-- Also see `ideal.is_simple_order` for the forward direction as an instance when `R` is a
 division (semi)ring. 
 
@@ -845,7 +1008,9 @@ theorem isField_iff_isSimpleOrder_ideal : IsField R ↔ IsSimpleOrder (Ideal R)
   simp_rw [lt_top_iff_ne_top, bot_lt_iff_ne_bot, ← or_iff_not_imp_left, not_ne_iff]
   exact ⟨fun h => ⟨h⟩, fun h => h.2⟩
 #align ring.is_field_iff_is_simple_order_ideal Ring.isField_iff_isSimpleOrder_ideal
+-/
 
+#print Ring.ne_bot_of_isMaximal_of_not_isField /-
 /-- When a ring is not a field, the maximal ideals are nontrivial. -/
 theorem ne_bot_of_isMaximal_of_not_isField [Nontrivial R] {M : Ideal R} (max : M.IsMaximal)
     (not_field : ¬IsField R) : M ≠ ⊥ := by
@@ -855,6 +1020,7 @@ theorem ne_bot_of_isMaximal_of_not_isField [Nontrivial R] {M : Ideal R} (max : M
   obtain ⟨I, hIbot, hItop⟩ := not_is_field_iff_exists_ideal_bot_lt_and_lt_top.mp not_field
   exact ne_of_lt hItop (h2 I hIbot)
 #align ring.ne_bot_of_is_maximal_of_not_is_field Ring.ne_bot_of_isMaximal_of_not_isField
+-/
 
 end Ring
 
@@ -862,6 +1028,7 @@ namespace Ideal
 
 variable {R : Type u} [CommRing R] [Nontrivial R]
 
+#print Ideal.bot_lt_of_maximal /-
 theorem bot_lt_of_maximal (M : Ideal R) [hm : M.IsMaximal] (non_field : ¬IsField R) : ⊥ < M :=
   by
   rcases Ring.not_isField_iff_exists_ideal_bot_lt_and_lt_top.1 non_field with ⟨I, Ibot, Itop⟩
@@ -872,6 +1039,7 @@ theorem bot_lt_of_maximal (M : Ideal R) [hm : M.IsMaximal] (non_field : ¬IsFiel
   rw [this] at *
   rwa [hm.1.2 I Ibot] at Itop 
 #align ideal.bot_lt_of_maximal Ideal.bot_lt_of_maximal
+-/
 
 end Ideal
 
@@ -891,26 +1059,36 @@ theorem mem_nonunits_iff [Monoid α] : a ∈ nonunits α ↔ ¬IsUnit a :=
 #align mem_nonunits_iff mem_nonunits_iff
 -/
 
+#print mul_mem_nonunits_right /-
 theorem mul_mem_nonunits_right [CommMonoid α] : b ∈ nonunits α → a * b ∈ nonunits α :=
   mt isUnit_of_mul_isUnit_right
 #align mul_mem_nonunits_right mul_mem_nonunits_right
+-/
 
+#print mul_mem_nonunits_left /-
 theorem mul_mem_nonunits_left [CommMonoid α] : a ∈ nonunits α → a * b ∈ nonunits α :=
   mt isUnit_of_mul_isUnit_left
 #align mul_mem_nonunits_left mul_mem_nonunits_left
+-/
 
+#print zero_mem_nonunits /-
 theorem zero_mem_nonunits [Semiring α] : 0 ∈ nonunits α ↔ (0 : α) ≠ 1 :=
   not_congr isUnit_zero_iff
 #align zero_mem_nonunits zero_mem_nonunits
+-/
 
+#print one_not_mem_nonunits /-
 @[simp]
 theorem one_not_mem_nonunits [Monoid α] : (1 : α) ∉ nonunits α :=
   not_not_intro isUnit_one
 #align one_not_mem_nonunits one_not_mem_nonunits
+-/
 
+#print coe_subset_nonunits /-
 theorem coe_subset_nonunits [Semiring α] {I : Ideal α} (h : I ≠ ⊤) : (I : Set α) ⊆ nonunits α :=
   fun x hx hu => h <| I.eq_top_of_isUnit_mem hx hu
 #align coe_subset_nonunits coe_subset_nonunits
+-/
 
 #print exists_max_ideal_of_mem_nonunits /-
 theorem exists_max_ideal_of_mem_nonunits [CommSemiring α] (h : a ∈ nonunits α) :
Diff
@@ -83,7 +83,7 @@ theorem ext {I J : Ideal α} (h : ∀ x, x ∈ I ↔ x ∈ J) : I = J :=
 -/
 
 theorem sum_mem (I : Ideal α) {ι : Type _} {t : Finset ι} {f : ι → α} :
-    (∀ c ∈ t, f c ∈ I) → (∑ i in t, f i) ∈ I :=
+    (∀ c ∈ t, f c ∈ I) → ∑ i in t, f i ∈ I :=
   Submodule.sum_mem I
 #align ideal.sum_mem Ideal.sum_mem
 
Diff
@@ -93,7 +93,6 @@ theorem eq_top_of_unit_mem (x y : α) (hx : x ∈ I) (h : y * x = 1) : I = ⊤ :
       z = z * (y * x) := by simp [h]
       _ = z * y * x := (Eq.symm <| mul_assoc z y x)
       _ ∈ I := I.mul_mem_left _ hx
-      
 #align ideal.eq_top_of_unit_mem Ideal.eq_top_of_unit_mem
 
 theorem eq_top_of_isUnit_mem {x} (hx : x ∈ I) (h : IsUnit x) : I = ⊤ :=
Diff
@@ -291,8 +291,8 @@ theorem IsPrime.mem_of_pow_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ
 #align ideal.is_prime.mem_of_pow_mem Ideal.IsPrime.mem_of_pow_mem
 -/
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ∉ » I) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (y «expr ∉ » I) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (x «expr ∉ » I) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (y «expr ∉ » I) -/
 theorem not_isPrime_iff {I : Ideal α} :
     ¬I.IsPrime ↔ I = ⊤ ∨ ∃ (x : _) (_ : x ∉ I) (y : _) (_ : y ∉ I), x * y ∈ I :=
   by
@@ -793,7 +793,7 @@ namespace Ring
 
 variable {R : Type _} [CommSemiring R]
 
-/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ≠ » (0 : R)) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:638:2: warning: expanding binder collection (x «expr ≠ » (0 : R)) -/
 theorem exists_not_isUnit_of_not_isField [Nontrivial R] (hf : ¬IsField R) :
     ∃ (x : _) (_ : x ≠ (0 : R)), ¬IsUnit x :=
   by
Diff
@@ -253,7 +253,7 @@ theorem mem_span_singleton_sup {S : Type _} [CommSemiring S] {x y : S} {I : Idea
 /-- The ideal generated by an arbitrary binary relation.
 -/
 def ofRel (r : α → α → Prop) : Ideal α :=
-  Submodule.span α { x | ∃ (a b : _) (h : r a b), x + b = a }
+  Submodule.span α {x | ∃ (a b : _) (h : r a b), x + b = a}
 #align ideal.of_rel Ideal.ofRel
 -/
 
@@ -478,7 +478,7 @@ variable (ι : Type v)
 #print Ideal.pi /-
 /-- `I^n` as an ideal of `R^n`. -/
 def pi : Ideal (ι → α) where
-  carrier := { x | ∀ i, x i ∈ I }
+  carrier := {x | ∀ i, x i ∈ I}
   zero_mem' i := I.zero_mem
   add_mem' a b ha hb i := I.add_mem (ha i) (hb i)
   smul_mem' a b hb i := I.mul_mem_left (a i) (hb i)
@@ -502,7 +502,7 @@ theorem sInf_isPrime_of_isChain {s : Set (Ideal α)} (hs : s.Nonempty) (hs' : Is
     or_iff_not_imp_left.mpr fun hx =>
       by
       rw [Ideal.mem_sInf] at hx e ⊢
-      push_neg  at hx 
+      push_neg at hx 
       obtain ⟨I, hI, hI'⟩ := hx
       intro J hJ
       cases hs'.total hI hJ
@@ -799,7 +799,7 @@ theorem exists_not_isUnit_of_not_isField [Nontrivial R] (hf : ¬IsField R) :
   by
   have : ¬_ := fun h => hf ⟨exists_pair_ne R, mul_comm, h⟩
   simp_rw [isUnit_iff_exists_inv]
-  push_neg  at this ⊢
+  push_neg at this ⊢
   obtain ⟨x, hx, not_unit⟩ := this
   exact ⟨x, hx, not_unit⟩
 #align ring.exists_not_is_unit_of_not_is_field Ring.exists_not_isUnit_of_not_isField
@@ -881,7 +881,7 @@ variable {a b : α}
 #print nonunits /-
 /-- The set of non-invertible elements of a monoid. -/
 def nonunits (α : Type u) [Monoid α] : Set α :=
-  { a | ¬IsUnit a }
+  {a | ¬IsUnit a}
 #align nonunits nonunits
 -/
 
Diff
@@ -115,7 +115,7 @@ theorem unit_mul_mem_iff_mem {x y : α} (hy : IsUnit y) : y * x ∈ I ↔ x ∈
   refine' ⟨fun h => _, fun h => I.mul_mem_left y h⟩
   obtain ⟨y', hy'⟩ := hy.exists_left_inv
   have := I.mul_mem_left y' h
-  rwa [← mul_assoc, hy', one_mul] at this
+  rwa [← mul_assoc, hy', one_mul] at this 
 #align ideal.unit_mul_mem_iff_mem Ideal.unit_mul_mem_iff_mem
 
 #print Ideal.span /-
@@ -199,7 +199,7 @@ theorem span_singleton_mul_left_unit {a : α} (h2 : IsUnit a) (x : α) :
     span ({a * x} : Set α) = span {x} :=
   by
   apply le_antisymm <;> rw [span_singleton_le_iff_mem, mem_span_singleton']
-  exacts[⟨a, rfl⟩, ⟨_, h2.unit.inv_mul_cancel_left x⟩]
+  exacts [⟨a, rfl⟩, ⟨_, h2.unit.inv_mul_cancel_left x⟩]
 #align ideal.span_singleton_mul_left_unit Ideal.span_singleton_mul_left_unit
 
 theorem span_insert (x) (s : Set α) : span (insert x s) = span ({x} : Set α) ⊔ span s :=
@@ -253,7 +253,7 @@ theorem mem_span_singleton_sup {S : Type _} [CommSemiring S] {x y : S} {I : Idea
 /-- The ideal generated by an arbitrary binary relation.
 -/
 def ofRel (r : α → α → Prop) : Ideal α :=
-  Submodule.span α { x | ∃ (a b : _)(h : r a b), x + b = a }
+  Submodule.span α { x | ∃ (a b : _) (h : r a b), x + b = a }
 #align ideal.of_rel Ideal.ofRel
 -/
 
@@ -286,15 +286,15 @@ theorem IsPrime.mem_or_mem_of_mul_eq_zero {I : Ideal α} (hI : I.IsPrime) {x y :
 theorem IsPrime.mem_of_pow_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ) (H : r ^ n ∈ I) :
     r ∈ I := by
   induction' n with n ih
-  · rw [pow_zero] at H; exact (mt (eq_top_iff_one _).2 hI.1).elim H
-  · rw [pow_succ] at H; exact Or.cases_on (hI.mem_or_mem H) id ih
+  · rw [pow_zero] at H ; exact (mt (eq_top_iff_one _).2 hI.1).elim H
+  · rw [pow_succ] at H ; exact Or.cases_on (hI.mem_or_mem H) id ih
 #align ideal.is_prime.mem_of_pow_mem Ideal.IsPrime.mem_of_pow_mem
 -/
 
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ∉ » I) -/
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (y «expr ∉ » I) -/
 theorem not_isPrime_iff {I : Ideal α} :
-    ¬I.IsPrime ↔ I = ⊤ ∨ ∃ (x : _)(_ : x ∉ I)(y : _)(_ : y ∉ I), x * y ∈ I :=
+    ¬I.IsPrime ↔ I = ⊤ ∨ ∃ (x : _) (_ : x ∉ I) (y : _) (_ : y ∉ I), x * y ∈ I :=
   by
   simp_rw [Ideal.isPrime_iff, not_and_or, Ne.def, Classical.not_not, not_forall, not_or]
   exact
@@ -308,7 +308,7 @@ theorem zero_ne_one_of_proper {I : Ideal α} (h : I ≠ ⊤) : (0 : α) ≠ 1 :=
 #align ideal.zero_ne_one_of_proper Ideal.zero_ne_one_of_proper
 
 theorem bot_prime {R : Type _} [Ring R] [IsDomain R] : (⊥ : Ideal R).IsPrime :=
-  ⟨fun h => one_ne_zero (by rwa [Ideal.eq_top_iff_one, Submodule.mem_bot] at h), fun x y h =>
+  ⟨fun h => one_ne_zero (by rwa [Ideal.eq_top_iff_one, Submodule.mem_bot] at h ), fun x y h =>
     mul_eq_zero.mp (by simpa only [Submodule.mem_bot] using h)⟩
 #align ideal.bot_prime Ideal.bot_prime
 
@@ -501,8 +501,8 @@ theorem sInf_isPrime_of_isChain {s : Set (Ideal α)} (hs : s.Nonempty) (hs' : Is
     fun x y e =>
     or_iff_not_imp_left.mpr fun hx =>
       by
-      rw [Ideal.mem_sInf] at hx e⊢
-      push_neg  at hx
+      rw [Ideal.mem_sInf] at hx e ⊢
+      push_neg  at hx 
       obtain ⟨I, hI, hI'⟩ := hx
       intro J hJ
       cases hs'.total hI hJ
@@ -579,7 +579,7 @@ theorem IsMaximal.isPrime {I : Ideal α} (H : I.IsMaximal) : I.IsPrime :=
       obtain F : y * 1 = y * (a • x + b) := congr_arg (fun g : α => y * g) oe
       rw [← mul_one y, F, mul_add, mul_comm, smul_eq_mul, mul_assoc]
       refine' Submodule.add_mem I (I.mul_mem_left a hxy) (Submodule.smul_mem I y _)
-      rwa [Submodule.span_eq] at h⟩
+      rwa [Submodule.span_eq] at h ⟩
 #align ideal.is_maximal.is_prime Ideal.IsMaximal.isPrime
 -/
 
@@ -622,7 +622,7 @@ theorem pow_mem_of_mem (ha : a ∈ I) (n : ℕ) (hn : 0 < n) : a ^ n ∈ I :=
 
 theorem IsPrime.mul_mem_iff_mem_or_mem {I : Ideal α} (hI : I.IsPrime) :
     ∀ {x y : α}, x * y ∈ I ↔ x ∈ I ∨ y ∈ I := fun x y =>
-  ⟨hI.mem_or_mem, by rintro (h | h); exacts[I.mul_mem_right y h, I.mul_mem_left x h]⟩
+  ⟨hI.mem_or_mem, by rintro (h | h); exacts [I.mul_mem_right y h, I.mul_mem_left x h]⟩
 #align ideal.is_prime.mul_mem_iff_mem_or_mem Ideal.IsPrime.mul_mem_iff_mem_or_mem
 
 #print Ideal.IsPrime.pow_mem_iff_mem /-
@@ -676,14 +676,14 @@ theorem span_pow_eq_top (s : Set α) (hs : span s = ⊤) (n : ℕ) : span ((fun
     · rw [Set.image_empty, hs]
       trivial
     · exact subset_span ⟨_, hx, pow_zero _⟩
-  rw [eq_top_iff_one, span, Finsupp.mem_span_iff_total] at hs
+  rw [eq_top_iff_one, span, Finsupp.mem_span_iff_total] at hs 
   rcases hs with ⟨f, hf⟩
-  change (f.support.sum fun a => f a * a) = 1 at hf
+  change (f.support.sum fun a => f a * a) = 1 at hf 
   have := sum_pow_mem_span_pow f.support (fun a => f a * a) n
-  rw [hf, one_pow] at this
+  rw [hf, one_pow] at this 
   refine' span_le.mpr _ this
   rintro _ hx
-  simp_rw [Finset.mem_coe, Set.mem_image] at hx
+  simp_rw [Finset.mem_coe, Set.mem_image] at hx 
   rcases hx with ⟨x, hx, rfl⟩
   have : span ({x ^ (n + 1)} : Set α) ≤ span ((fun x : α => x ^ (n + 1)) '' s) :=
     by
@@ -795,11 +795,11 @@ variable {R : Type _} [CommSemiring R]
 
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ≠ » (0 : R)) -/
 theorem exists_not_isUnit_of_not_isField [Nontrivial R] (hf : ¬IsField R) :
-    ∃ (x : _)(_ : x ≠ (0 : R)), ¬IsUnit x :=
+    ∃ (x : _) (_ : x ≠ (0 : R)), ¬IsUnit x :=
   by
   have : ¬_ := fun h => hf ⟨exists_pair_ne R, mul_comm, h⟩
   simp_rw [isUnit_iff_exists_inv]
-  push_neg  at this⊢
+  push_neg  at this ⊢
   obtain ⟨x, hx, not_unit⟩ := this
   exact ⟨x, hx, not_unit⟩
 #align ring.exists_not_is_unit_of_not_is_field Ring.exists_not_isUnit_of_not_isField
@@ -815,9 +815,9 @@ theorem not_isField_iff_exists_ideal_bot_lt_and_lt_top [Nontrivial R] :
     exact ⟨mt ideal.span_singleton_eq_bot.mp nz, mt ideal.span_singleton_eq_top.mp nu⟩
   · rintro ⟨I, bot_lt, lt_top⟩ hf
     obtain ⟨x, mem, ne_zero⟩ := SetLike.exists_of_lt bot_lt
-    rw [Submodule.mem_bot] at ne_zero
+    rw [Submodule.mem_bot] at ne_zero 
     obtain ⟨y, hy⟩ := hf.mul_inv_cancel NeZero
-    rw [lt_top_iff_ne_top, Ne.def, Ideal.eq_top_iff_one, ← hy] at lt_top
+    rw [lt_top_iff_ne_top, Ne.def, Ideal.eq_top_iff_one, ← hy] at lt_top 
     exact lt_top (I.mul_mem_right _ mem)
 #align ring.not_is_field_iff_exists_ideal_bot_lt_and_lt_top Ring.not_isField_iff_exists_ideal_bot_lt_and_lt_top
 
@@ -851,7 +851,7 @@ theorem isField_iff_isSimpleOrder_ideal : IsField R ↔ IsSimpleOrder (Ideal R)
 theorem ne_bot_of_isMaximal_of_not_isField [Nontrivial R] {M : Ideal R} (max : M.IsMaximal)
     (not_field : ¬IsField R) : M ≠ ⊥ := by
   rintro h
-  rw [h] at max
+  rw [h] at max 
   rcases max with ⟨⟨h1, h2⟩⟩
   obtain ⟨I, hIbot, hItop⟩ := not_is_field_iff_exists_ideal_bot_lt_and_lt_top.mp not_field
   exact ne_of_lt hItop (h2 I hIbot)
@@ -871,7 +871,7 @@ theorem bot_lt_of_maximal (M : Ideal R) [hm : M.IsMaximal] (non_field : ¬IsFiel
   apply @irrefl _ (· < ·) _ (⊤ : Ideal R)
   have : M = ⊥ := eq_bot_iff.mpr mle
   rw [this] at *
-  rwa [hm.1.2 I Ibot] at Itop
+  rwa [hm.1.2 I Ibot] at Itop 
 #align ideal.bot_lt_of_maximal Ideal.bot_lt_of_maximal
 
 end Ideal
@@ -917,7 +917,7 @@ theorem coe_subset_nonunits [Semiring α] {I : Ideal α} (h : I ≠ ⊤) : (I :
 theorem exists_max_ideal_of_mem_nonunits [CommSemiring α] (h : a ∈ nonunits α) :
     ∃ I : Ideal α, I.IsMaximal ∧ a ∈ I :=
   by
-  have : Ideal.span ({a} : Set α) ≠ ⊤ := by intro H; rw [Ideal.span_singleton_eq_top] at H;
+  have : Ideal.span ({a} : Set α) ≠ ⊤ := by intro H; rw [Ideal.span_singleton_eq_top] at H ;
     contradiction
   rcases Ideal.exists_le_maximal _ this with ⟨I, Imax, H⟩
   use I, Imax; apply H; apply Ideal.subset_span; exact Set.mem_singleton a
Diff
@@ -42,7 +42,7 @@ variable {α : Type u} {β : Type v}
 
 open Set Function
 
-open Classical BigOperators Pointwise
+open scoped Classical BigOperators Pointwise
 
 #print Ideal /-
 /-- A (left) ideal in a semiring `R` is an additive submonoid `s` such that
Diff
@@ -59,34 +59,16 @@ namespace Ideal
 
 variable [Semiring α] (I : Ideal α) {a b : α}
 
-/- warning: ideal.zero_mem -> Ideal.zero_mem is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))) I
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)))) I
-Case conversion may be inaccurate. Consider using '#align ideal.zero_mem Ideal.zero_memₓ'. -/
 protected theorem zero_mem : (0 : α) ∈ I :=
   I.zero_mem
 #align ideal.zero_mem Ideal.zero_mem
 
-/- warning: ideal.add_mem -> Ideal.add_mem is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {a : α} {b : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) a I) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) b I) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) a b) I)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {a : α} {b : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) a I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) b I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) a b) I)
-Case conversion may be inaccurate. Consider using '#align ideal.add_mem Ideal.add_memₓ'. -/
 protected theorem add_mem : a ∈ I → b ∈ I → a + b ∈ I :=
   I.add_mem
 #align ideal.add_mem Ideal.add_mem
 
 variable (a)
 
-/- warning: ideal.mul_mem_left -> Ideal.mul_mem_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) (a : α) {b : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) b I) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) a b) I)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) (a : α) {b : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) b I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) a b) I)
-Case conversion may be inaccurate. Consider using '#align ideal.mul_mem_left Ideal.mul_mem_leftₓ'. -/
 theorem mul_mem_left : b ∈ I → a * b ∈ I :=
   I.smul_mem a
 #align ideal.mul_mem_left Ideal.mul_mem_left
@@ -100,23 +82,11 @@ theorem ext {I J : Ideal α} (h : ∀ x, x ∈ I ↔ x ∈ J) : I = J :=
 #align ideal.ext Ideal.ext
 -/
 
-/- warning: ideal.sum_mem -> Ideal.sum_mem is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {ι : Type.{u2}} {t : Finset.{u2} ι} {f : ι -> α}, (forall (c : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) c t) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (f c) I)) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (Finset.sum.{u1, u2} α ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) t (fun (i : ι) => f i)) I)
-but is expected to have type
-  forall {α : Type.{u2}} [_inst_1 : Semiring.{u2} α] (I : Ideal.{u2} α _inst_1) {ι : Type.{u1}} {t : Finset.{u1} ι} {f : ι -> α}, (forall (c : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) c t) -> (Membership.mem.{u2, u2} α (Ideal.{u2} α _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} α _inst_1) α (Submodule.setLike.{u2, u2} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_1))) (Semiring.toModule.{u2} α _inst_1))) (f c) I)) -> (Membership.mem.{u2, u2} α (Ideal.{u2} α _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} α _inst_1) α (Submodule.setLike.{u2, u2} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_1))) (Semiring.toModule.{u2} α _inst_1))) (Finset.sum.{u2, u1} α ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_1))) t (fun (i : ι) => f i)) I)
-Case conversion may be inaccurate. Consider using '#align ideal.sum_mem Ideal.sum_memₓ'. -/
 theorem sum_mem (I : Ideal α) {ι : Type _} {t : Finset ι} {f : ι → α} :
     (∀ c ∈ t, f c ∈ I) → (∑ i in t, f i) ∈ I :=
   Submodule.sum_mem I
 #align ideal.sum_mem Ideal.sum_mem
 
-/- warning: ideal.eq_top_of_unit_mem -> Ideal.eq_top_of_unit_mem is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) (x : α) (y : α), (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) -> (Eq.{succ u1} α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) y x) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))))))) -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) (x : α) (y : α), (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) -> (Eq.{succ u1} α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) y x) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1)))) -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
-Case conversion may be inaccurate. Consider using '#align ideal.eq_top_of_unit_mem Ideal.eq_top_of_unit_memₓ'. -/
 theorem eq_top_of_unit_mem (x y : α) (hx : x ∈ I) (h : y * x = 1) : I = ⊤ :=
   eq_top_iff.2 fun z _ =>
     calc
@@ -126,43 +96,19 @@ theorem eq_top_of_unit_mem (x y : α) (hx : x ∈ I) (h : y * x = 1) : I = ⊤ :
       
 #align ideal.eq_top_of_unit_mem Ideal.eq_top_of_unit_mem
 
-/- warning: ideal.eq_top_of_is_unit_mem -> Ideal.eq_top_of_isUnit_mem is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) -> (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)) x) -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) -> (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)) x) -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
-Case conversion may be inaccurate. Consider using '#align ideal.eq_top_of_is_unit_mem Ideal.eq_top_of_isUnit_memₓ'. -/
 theorem eq_top_of_isUnit_mem {x} (hx : x ∈ I) (h : IsUnit x) : I = ⊤ :=
   let ⟨y, hy⟩ := h.exists_left_inv
   eq_top_of_unit_mem I x y hx hy
 #align ideal.eq_top_of_is_unit_mem Ideal.eq_top_of_isUnit_mem
 
-/- warning: ideal.eq_top_iff_one -> Ideal.eq_top_iff_one is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), Iff (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))) I)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), Iff (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))) I)
-Case conversion may be inaccurate. Consider using '#align ideal.eq_top_iff_one Ideal.eq_top_iff_oneₓ'. -/
 theorem eq_top_iff_one : I = ⊤ ↔ (1 : α) ∈ I :=
   ⟨by rintro rfl <;> trivial, fun h => eq_top_of_unit_mem _ _ 1 h (by simp)⟩
 #align ideal.eq_top_iff_one Ideal.eq_top_iff_one
 
-/- warning: ideal.ne_top_iff_one -> Ideal.ne_top_iff_one is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), Iff (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))) I))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), Iff (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))) I))
-Case conversion may be inaccurate. Consider using '#align ideal.ne_top_iff_one Ideal.ne_top_iff_oneₓ'. -/
 theorem ne_top_iff_one : I ≠ ⊤ ↔ (1 : α) ∉ I :=
   not_congr I.eq_top_iff_one
 #align ideal.ne_top_iff_one Ideal.ne_top_iff_one
 
-/- warning: ideal.unit_mul_mem_iff_mem -> Ideal.unit_mul_mem_iff_mem is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α} {y : α}, (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)) y) -> (Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) y x) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α} {y : α}, (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)) y) -> (Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) y x) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I))
-Case conversion may be inaccurate. Consider using '#align ideal.unit_mul_mem_iff_mem Ideal.unit_mul_mem_iff_memₓ'. -/
 @[simp]
 theorem unit_mul_mem_iff_mem {x y : α} (hy : IsUnit y) : y * x ∈ I ↔ x ∈ I :=
   by
@@ -186,44 +132,20 @@ theorem submodule_span_eq {s : Set α} : Submodule.span α s = Ideal.span s :=
 #align ideal.submodule_span_eq Ideal.submodule_span_eq
 -/
 
-/- warning: ideal.span_empty -> Ideal.span_empty is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α], Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.hasEmptyc.{u1} α))) (Bot.bot.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasBot.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α], Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (EmptyCollection.emptyCollection.{u1} (Set.{u1} α) (Set.instEmptyCollectionSet.{u1} α))) (Bot.bot.{u1} (Ideal.{u1} α _inst_1) (Submodule.instBotSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))
-Case conversion may be inaccurate. Consider using '#align ideal.span_empty Ideal.span_emptyₓ'. -/
 @[simp]
 theorem span_empty : span (∅ : Set α) = ⊥ :=
   Submodule.span_empty
 #align ideal.span_empty Ideal.span_empty
 
-/- warning: ideal.span_univ -> Ideal.span_univ is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α], Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Set.univ.{u1} α)) (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α], Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Set.univ.{u1} α)) (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))
-Case conversion may be inaccurate. Consider using '#align ideal.span_univ Ideal.span_univₓ'. -/
 @[simp]
 theorem span_univ : span (Set.univ : Set α) = ⊤ :=
   Submodule.span_univ
 #align ideal.span_univ Ideal.span_univ
 
-/- warning: ideal.span_union -> Ideal.span_union is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (s : Set.{u1} α) (t : Set.{u1} α), Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Union.union.{u1} (Set.{u1} α) (Set.hasUnion.{u1} α) s t)) (Sup.sup.{u1} (Ideal.{u1} α _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 s) (Ideal.span.{u1} α _inst_1 t))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (s : Set.{u1} α) (t : Set.{u1} α), Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Union.union.{u1} (Set.{u1} α) (Set.instUnionSet.{u1} α) s t)) (Sup.sup.{u1} (Ideal.{u1} α _inst_1) (SemilatticeSup.toSup.{u1} (Ideal.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 s) (Ideal.span.{u1} α _inst_1 t))
-Case conversion may be inaccurate. Consider using '#align ideal.span_union Ideal.span_unionₓ'. -/
 theorem span_union (s t : Set α) : span (s ∪ t) = span s ⊔ span t :=
   Submodule.span_union _ _
 #align ideal.span_union Ideal.span_union
 
-/- warning: ideal.span_Union -> Ideal.span_iUnion is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {ι : Sort.{u2}} (s : ι -> (Set.{u1} α)), Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Set.iUnion.{u1, u2} α ι (fun (i : ι) => s i))) (iSup.{u1, u2} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) ι (fun (i : ι) => Ideal.span.{u1} α _inst_1 (s i)))
-but is expected to have type
-  forall {α : Type.{u2}} [_inst_1 : Semiring.{u2} α] {ι : Sort.{u1}} (s : ι -> (Set.{u2} α)), Eq.{succ u2} (Ideal.{u2} α _inst_1) (Ideal.span.{u2} α _inst_1 (Set.iUnion.{u2, u1} α ι (fun (i : ι) => s i))) (iSup.{u2, u1} (Ideal.{u2} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u2} (Ideal.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} α _inst_1) (Submodule.completeLattice.{u2, u2} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_1))) (Semiring.toModule.{u2} α _inst_1)))) ι (fun (i : ι) => Ideal.span.{u2} α _inst_1 (s i)))
-Case conversion may be inaccurate. Consider using '#align ideal.span_Union Ideal.span_iUnionₓ'. -/
 theorem span_iUnion {ι} (s : ι → Set α) : span (⋃ i, s i) = ⨆ i, span (s i) :=
   Submodule.span_iUnion _
 #align ideal.span_Union Ideal.span_iUnion
@@ -240,22 +162,10 @@ theorem subset_span {s : Set α} : s ⊆ span s :=
 #align ideal.subset_span Ideal.subset_span
 -/
 
-/- warning: ideal.span_le -> Ideal.span_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {I : Ideal.{u1} α _inst_1}, Iff (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) (Ideal.span.{u1} α _inst_1 s) I) (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) s ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) I))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {I : Ideal.{u1} α _inst_1}, Iff (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 s) I) (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) s (SetLike.coe.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) I))
-Case conversion may be inaccurate. Consider using '#align ideal.span_le Ideal.span_leₓ'. -/
 theorem span_le {s : Set α} {I} : span s ≤ I ↔ s ⊆ I :=
   Submodule.span_le
 #align ideal.span_le Ideal.span_le
 
-/- warning: ideal.span_mono -> Ideal.span_mono is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {t : Set.{u1} α}, (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) s t) -> (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) (Ideal.span.{u1} α _inst_1 s) (Ideal.span.{u1} α _inst_1 t))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {t : Set.{u1} α}, (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) s t) -> (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 s) (Ideal.span.{u1} α _inst_1 t))
-Case conversion may be inaccurate. Consider using '#align ideal.span_mono Ideal.span_monoₓ'. -/
 theorem span_mono {s t : Set α} : s ⊆ t → span s ≤ span t :=
   Submodule.span_mono
 #align ideal.span_mono Ideal.span_mono
@@ -267,54 +177,24 @@ theorem span_eq : span (I : Set α) = I :=
 #align ideal.span_eq Ideal.span_eq
 -/
 
-/- warning: ideal.span_singleton_one -> Ideal.span_singleton_one is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α], Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))))) (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α], Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))))) (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_one Ideal.span_singleton_oneₓ'. -/
 @[simp]
 theorem span_singleton_one : span ({1} : Set α) = ⊤ :=
   (eq_top_iff_one _).2 <| subset_span <| mem_singleton _
 #align ideal.span_singleton_one Ideal.span_singleton_one
 
-/- warning: ideal.mem_span_insert -> Ideal.mem_span_insert is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {x : α} {y : α}, Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x (Ideal.span.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) y s))) (Exists.{succ u1} α (fun (a : α) => Exists.{succ u1} α (fun (z : α) => Exists.{0} (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) z (Ideal.span.{u1} α _inst_1 s)) (fun (H : Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) z (Ideal.span.{u1} α _inst_1 s)) => Eq.{succ u1} α x (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) a y) z)))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {x : α} {y : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x (Ideal.span.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) y s))) (Exists.{succ u1} α (fun (a : α) => Exists.{succ u1} α (fun (z : α) => And (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) z (Ideal.span.{u1} α _inst_1 s)) (Eq.{succ u1} α x (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) a y) z)))))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_span_insert Ideal.mem_span_insertₓ'. -/
 theorem mem_span_insert {s : Set α} {x y} :
     x ∈ span (insert y s) ↔ ∃ a, ∃ z ∈ span s, x = a * y + z :=
   Submodule.mem_span_insert
 #align ideal.mem_span_insert Ideal.mem_span_insert
 
-/- warning: ideal.mem_span_singleton' -> Ideal.mem_span_singleton' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {x : α} {y : α}, Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) y))) (Exists.{succ u1} α (fun (a : α) => Eq.{succ u1} α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) a y) x))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {x : α} {y : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) y))) (Exists.{succ u1} α (fun (a : α) => Eq.{succ u1} α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) a y) x))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_span_singleton' Ideal.mem_span_singleton'ₓ'. -/
 theorem mem_span_singleton' {x y : α} : x ∈ span ({y} : Set α) ↔ ∃ a, a * y = x :=
   Submodule.mem_span_singleton
 #align ideal.mem_span_singleton' Ideal.mem_span_singleton'
 
-/- warning: ideal.span_singleton_le_iff_mem -> Ideal.span_singleton_le_iff_mem is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α}, Iff (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α}, Iff (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_le_iff_mem Ideal.span_singleton_le_iff_memₓ'. -/
 theorem span_singleton_le_iff_mem {x : α} : span {x} ≤ I ↔ x ∈ I :=
   Submodule.span_singleton_le_iff_mem _ _
 #align ideal.span_singleton_le_iff_mem Ideal.span_singleton_le_iff_mem
 
-/- warning: ideal.span_singleton_mul_left_unit -> Ideal.span_singleton_mul_left_unit is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {a : α}, (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)) a) -> (forall (x : α), Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) a x))) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {a : α}, (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)) a) -> (forall (x : α), Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) a x))) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)))
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_left_unit Ideal.span_singleton_mul_left_unitₓ'. -/
 theorem span_singleton_mul_left_unit {a : α} (h2 : IsUnit a) (x : α) :
     span ({a * x} : Set α) = span {x} :=
   by
@@ -322,43 +202,19 @@ theorem span_singleton_mul_left_unit {a : α} (h2 : IsUnit a) (x : α) :
   exacts[⟨a, rfl⟩, ⟨_, h2.unit.inv_mul_cancel_left x⟩]
 #align ideal.span_singleton_mul_left_unit Ideal.span_singleton_mul_left_unit
 
-/- warning: ideal.span_insert -> Ideal.span_insert is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (x : α) (s : Set.{u1} α), Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x s)) (Sup.sup.{u1} (Ideal.{u1} α _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)) (Ideal.span.{u1} α _inst_1 s))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (x : α) (s : Set.{u1} α), Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) x s)) (Sup.sup.{u1} (Ideal.{u1} α _inst_1) (SemilatticeSup.toSup.{u1} (Ideal.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) (Ideal.span.{u1} α _inst_1 s))
-Case conversion may be inaccurate. Consider using '#align ideal.span_insert Ideal.span_insertₓ'. -/
 theorem span_insert (x) (s : Set α) : span (insert x s) = span ({x} : Set α) ⊔ span s :=
   Submodule.span_insert x s
 #align ideal.span_insert Ideal.span_insert
 
-/- warning: ideal.span_eq_bot -> Ideal.span_eq_bot is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α}, Iff (Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 s) (Bot.bot.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasBot.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (forall (x : α), (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) x s) -> (Eq.{succ u1} α x (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))))))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α}, Iff (Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 s) (Bot.bot.{u1} (Ideal.{u1} α _inst_1) (Submodule.instBotSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (forall (x : α), (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) x s) -> (Eq.{succ u1} α x (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1))))))
-Case conversion may be inaccurate. Consider using '#align ideal.span_eq_bot Ideal.span_eq_botₓ'. -/
 theorem span_eq_bot {s : Set α} : span s = ⊥ ↔ ∀ x ∈ s, (x : α) = 0 :=
   Submodule.span_eq_bot
 #align ideal.span_eq_bot Ideal.span_eq_bot
 
-/- warning: ideal.span_singleton_eq_bot -> Ideal.span_singleton_eq_bot is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {x : α}, Iff (Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)) (Bot.bot.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasBot.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Eq.{succ u1} α x (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {x : α}, Iff (Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) (Bot.bot.{u1} (Ideal.{u1} α _inst_1) (Submodule.instBotSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Eq.{succ u1} α x (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_eq_bot Ideal.span_singleton_eq_botₓ'. -/
 @[simp]
 theorem span_singleton_eq_bot {x} : span ({x} : Set α) = ⊥ ↔ x = 0 :=
   Submodule.span_singleton_eq_bot
 #align ideal.span_singleton_eq_bot Ideal.span_singleton_eq_bot
 
-/- warning: ideal.span_singleton_ne_top -> Ideal.span_singleton_ne_top is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_2 : CommSemiring.{u1} α] {x : α}, (Not (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_2))) x)) -> (Ne.{succ u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_2)) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_2) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)) (Top.top.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_2)) (Submodule.hasTop.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_2)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_2)))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_2 : CommSemiring.{u1} α] {x : α}, (Not (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_2))) x)) -> (Ne.{succ u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_2)) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_2) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) (Top.top.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_2)) (Submodule.instTopSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_2)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_ne_top Ideal.span_singleton_ne_topₓ'. -/
 theorem span_singleton_ne_top {α : Type _} [CommSemiring α] {x : α} (hx : ¬IsUnit x) :
     Ideal.span ({x} : Set α) ≠ ⊤ :=
   (Ideal.ne_top_iff_one _).mpr fun h1 =>
@@ -366,32 +222,14 @@ theorem span_singleton_ne_top {α : Type _} [CommSemiring α] {x : α} (hx : ¬I
     hx ⟨⟨x, y, mul_comm y x ▸ hy, hy⟩, rfl⟩
 #align ideal.span_singleton_ne_top Ideal.span_singleton_ne_top
 
-/- warning: ideal.span_zero -> Ideal.span_zero is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α], Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (OfNat.ofNat.{u1} (Set.{u1} α) 0 (OfNat.mk.{u1} (Set.{u1} α) 0 (Zero.zero.{u1} (Set.{u1} α) (Set.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))))) (Bot.bot.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasBot.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α], Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (OfNat.ofNat.{u1} (Set.{u1} α) 0 (Zero.toOfNat0.{u1} (Set.{u1} α) (Set.zero.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)))))) (Bot.bot.{u1} (Ideal.{u1} α _inst_1) (Submodule.instBotSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))
-Case conversion may be inaccurate. Consider using '#align ideal.span_zero Ideal.span_zeroₓ'. -/
 @[simp]
 theorem span_zero : span (0 : Set α) = ⊥ := by rw [← Set.singleton_zero, span_singleton_eq_bot]
 #align ideal.span_zero Ideal.span_zero
 
-/- warning: ideal.span_one -> Ideal.span_one is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α], Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (OfNat.ofNat.{u1} (Set.{u1} α) 1 (OfNat.mk.{u1} (Set.{u1} α) 1 (One.one.{u1} (Set.{u1} α) (Set.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))))) (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α], Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (OfNat.ofNat.{u1} (Set.{u1} α) 1 (One.toOfNat1.{u1} (Set.{u1} α) (Set.one.{u1} α (Semiring.toOne.{u1} α _inst_1))))) (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))
-Case conversion may be inaccurate. Consider using '#align ideal.span_one Ideal.span_oneₓ'. -/
 @[simp]
 theorem span_one : span (1 : Set α) = ⊤ := by rw [← Set.singleton_one, span_singleton_one]
 #align ideal.span_one Ideal.span_one
 
-/- warning: ideal.span_eq_top_iff_finite -> Ideal.span_eq_top_iff_finite is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (s : Set.{u1} α), Iff (Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 s) (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Exists.{succ u1} (Finset.{u1} α) (fun (s' : Finset.{u1} α) => And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) s') s) (Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) s')) (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (s : Set.{u1} α), Iff (Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 s) (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Exists.{succ u1} (Finset.{u1} α) (fun (s' : Finset.{u1} α) => And (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) (Finset.toSet.{u1} α s') s) (Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Finset.toSet.{u1} α s')) (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))))
-Case conversion may be inaccurate. Consider using '#align ideal.span_eq_top_iff_finite Ideal.span_eq_top_iff_finiteₓ'. -/
 theorem span_eq_top_iff_finite (s : Set α) :
     span s = ⊤ ↔ ∃ s' : Finset α, ↑s' ⊆ s ∧ span (s' : Set α) = ⊤ :=
   by
@@ -399,12 +237,6 @@ theorem span_eq_top_iff_finite (s : Set α) :
   exact ⟨Submodule.mem_span_finite_of_mem_span, fun ⟨s', h₁, h₂⟩ => span_mono h₁ h₂⟩
 #align ideal.span_eq_top_iff_finite Ideal.span_eq_top_iff_finite
 
-/- warning: ideal.mem_span_singleton_sup -> Ideal.mem_span_singleton_sup is a dubious translation:
-lean 3 declaration is
-  forall {S : Type.{u1}} [_inst_2 : CommSemiring.{u1} S] {x : S} {y : S} {I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)}, Iff (Membership.Mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) x (Sup.sup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Submodule.completeLattice.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2))))))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.hasSingleton.{u1} S) y)) I)) (Exists.{succ u1} S (fun (a : S) => Exists.{succ u1} S (fun (b : S) => Exists.{0} (Membership.Mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) b I) (fun (H : Membership.Mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) b I) => Eq.{succ u1} S (HAdd.hAdd.{u1, u1, u1} S S S (instHAdd.{u1} S (Distrib.toHasAdd.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))))) (HMul.hMul.{u1, u1, u1} S S S (instHMul.{u1} S (Distrib.toHasMul.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))))) a y) b) x))))
-but is expected to have type
-  forall {S : Type.{u1}} [_inst_2 : CommSemiring.{u1} S] {x : S} {y : S} {I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) x (Sup.sup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Submodule.completeLattice.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2))))))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) y)) I)) (Exists.{succ u1} S (fun (a : S) => Exists.{succ u1} S (fun (b : S) => And (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) b I) (Eq.{succ u1} S (HAdd.hAdd.{u1, u1, u1} S S S (instHAdd.{u1} S (Distrib.toAdd.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))))) (HMul.hMul.{u1, u1, u1} S S S (instHMul.{u1} S (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2))))) a y) b) x))))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_span_singleton_sup Ideal.mem_span_singleton_supₓ'. -/
 theorem mem_span_singleton_sup {S : Type _} [CommSemiring S] {x y : S} {I : Ideal S} :
     x ∈ Ideal.span {y} ⊔ I ↔ ∃ a : S, ∃ b ∈ I, a * y + b = x :=
   by
@@ -433,42 +265,18 @@ class IsPrime (I : Ideal α) : Prop where
 #align ideal.is_prime Ideal.IsPrime
 -/
 
-/- warning: ideal.is_prime_iff -> Ideal.isPrime_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsPrime.{u1} α _inst_1 I) (And (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (forall {x : α} {y : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) x y) I) -> (Or (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsPrime.{u1} α _inst_1 I) (And (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (forall {x : α} {y : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) x y) I) -> (Or (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I))))
-Case conversion may be inaccurate. Consider using '#align ideal.is_prime_iff Ideal.isPrime_iffₓ'. -/
 theorem isPrime_iff {I : Ideal α} : IsPrime I ↔ I ≠ ⊤ ∧ ∀ {x y : α}, x * y ∈ I → x ∈ I ∨ y ∈ I :=
   ⟨fun h => ⟨h.1, fun _ _ => h.2⟩, fun h => ⟨h.1, fun _ _ => h.2⟩⟩
 #align ideal.is_prime_iff Ideal.isPrime_iff
 
-/- warning: ideal.is_prime.ne_top -> Ideal.IsPrime.ne_top is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsPrime.{u1} α _inst_1 I) -> (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsPrime.{u1} α _inst_1 I) -> (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
-Case conversion may be inaccurate. Consider using '#align ideal.is_prime.ne_top Ideal.IsPrime.ne_topₓ'. -/
 theorem IsPrime.ne_top {I : Ideal α} (hI : I.IsPrime) : I ≠ ⊤ :=
   hI.1
 #align ideal.is_prime.ne_top Ideal.IsPrime.ne_top
 
-/- warning: ideal.is_prime.mem_or_mem -> Ideal.IsPrime.mem_or_mem is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsPrime.{u1} α _inst_1 I) -> (forall {x : α} {y : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) x y) I) -> (Or (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsPrime.{u1} α _inst_1 I) -> (forall {x : α} {y : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) x y) I) -> (Or (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)))
-Case conversion may be inaccurate. Consider using '#align ideal.is_prime.mem_or_mem Ideal.IsPrime.mem_or_memₓ'. -/
 theorem IsPrime.mem_or_mem {I : Ideal α} (hI : I.IsPrime) {x y : α} : x * y ∈ I → x ∈ I ∨ y ∈ I :=
   hI.2
 #align ideal.is_prime.mem_or_mem Ideal.IsPrime.mem_or_mem
 
-/- warning: ideal.is_prime.mem_or_mem_of_mul_eq_zero -> Ideal.IsPrime.mem_or_mem_of_mul_eq_zero is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsPrime.{u1} α _inst_1 I) -> (forall {x : α} {y : α}, (Eq.{succ u1} α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) x y) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))))))) -> (Or (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsPrime.{u1} α _inst_1 I) -> (forall {x : α} {y : α}, (Eq.{succ u1} α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) x y) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1))))) -> (Or (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)))
-Case conversion may be inaccurate. Consider using '#align ideal.is_prime.mem_or_mem_of_mul_eq_zero Ideal.IsPrime.mem_or_mem_of_mul_eq_zeroₓ'. -/
 theorem IsPrime.mem_or_mem_of_mul_eq_zero {I : Ideal α} (hI : I.IsPrime) {x y : α} (h : x * y = 0) :
     x ∈ I ∨ y ∈ I :=
   hI.mem_or_mem (h.symm ▸ I.zero_mem)
@@ -483,12 +291,6 @@ theorem IsPrime.mem_of_pow_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ
 #align ideal.is_prime.mem_of_pow_mem Ideal.IsPrime.mem_of_pow_mem
 -/
 
-/- warning: ideal.not_is_prime_iff -> Ideal.not_isPrime_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Not (Ideal.IsPrime.{u1} α _inst_1 I)) (Or (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Exists.{succ u1} α (fun (x : α) => Exists.{0} (Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) (fun (H : Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) => Exists.{succ u1} α (fun (y : α) => Exists.{0} (Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)) (fun (H : Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)) => Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) x y) I))))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Not (Ideal.IsPrime.{u1} α _inst_1 I)) (Or (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Exists.{succ u1} α (fun (x : α) => Exists.{0} (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) (fun (H : Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) => Exists.{succ u1} α (fun (y : α) => Exists.{0} (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)) (fun (H : Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)) => Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) x y) I))))))
-Case conversion may be inaccurate. Consider using '#align ideal.not_is_prime_iff Ideal.not_isPrime_iffₓ'. -/
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ∉ » I) -/
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (y «expr ∉ » I) -/
 theorem not_isPrime_iff {I : Ideal α} :
@@ -501,22 +303,10 @@ theorem not_isPrime_iff {I : Ideal α} :
         ⟨x, y, hxy, hx, hy⟩⟩
 #align ideal.not_is_prime_iff Ideal.not_isPrime_iff
 
-/- warning: ideal.zero_ne_one_of_proper -> Ideal.zero_ne_one_of_proper is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) -> (Ne.{succ u1} α (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) -> (Ne.{succ u1} α (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)))) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))))
-Case conversion may be inaccurate. Consider using '#align ideal.zero_ne_one_of_proper Ideal.zero_ne_one_of_properₓ'. -/
 theorem zero_ne_one_of_proper {I : Ideal α} (h : I ≠ ⊤) : (0 : α) ≠ 1 := fun hz =>
   I.ne_top_iff_one.1 h <| hz ▸ I.zero_mem
 #align ideal.zero_ne_one_of_proper Ideal.zero_ne_one_of_proper
 
-/- warning: ideal.bot_prime -> Ideal.bot_prime is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Ring.{u1} R] [_inst_3 : IsDomain.{u1} R (Ring.toSemiring.{u1} R _inst_2)], Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R _inst_2) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.hasBot.{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))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Ring.{u1} R] [_inst_3 : IsDomain.{u1} R (Ring.toSemiring.{u1} R _inst_2)], Ideal.IsPrime.{u1} R (Ring.toSemiring.{u1} R _inst_2) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R _inst_2)) (Submodule.instBotSubmodule.{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))))
-Case conversion may be inaccurate. Consider using '#align ideal.bot_prime Ideal.bot_primeₓ'. -/
 theorem bot_prime {R : Type _} [Ring R] [IsDomain R] : (⊥ : Ideal R).IsPrime :=
   ⟨fun h => one_ne_zero (by rwa [Ideal.eq_top_iff_one, Submodule.mem_bot] at h), fun x y h =>
     mul_eq_zero.mp (by simpa only [Submodule.mem_bot] using h)⟩
@@ -529,32 +319,14 @@ class IsMaximal (I : Ideal α) : Prop where
 #align ideal.is_maximal Ideal.IsMaximal
 -/
 
-/- warning: ideal.is_maximal_def -> Ideal.isMaximal_def is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsMaximal.{u1} α _inst_1 I) (IsCoatom.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Submodule.orderTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) I)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsMaximal.{u1} α _inst_1 I) (IsCoatom.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) I)
-Case conversion may be inaccurate. Consider using '#align ideal.is_maximal_def Ideal.isMaximal_defₓ'. -/
 theorem isMaximal_def {I : Ideal α} : I.IsMaximal ↔ IsCoatom I :=
   ⟨fun h => h.1, fun h => ⟨h⟩⟩
 #align ideal.is_maximal_def Ideal.isMaximal_def
 
-/- warning: ideal.is_maximal.ne_top -> Ideal.IsMaximal.ne_top is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 I) -> (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 I) -> (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
-Case conversion may be inaccurate. Consider using '#align ideal.is_maximal.ne_top Ideal.IsMaximal.ne_topₓ'. -/
 theorem IsMaximal.ne_top {I : Ideal α} (h : I.IsMaximal) : I ≠ ⊤ :=
   (isMaximal_def.1 h).1
 #align ideal.is_maximal.ne_top Ideal.IsMaximal.ne_top
 
-/- warning: ideal.is_maximal_iff -> Ideal.isMaximal_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsMaximal.{u1} α _inst_1 I) (And (Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))) I)) (forall (J : Ideal.{u1} α _inst_1) (x : α), (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) I J) -> (Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x J) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))) J)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsMaximal.{u1} α _inst_1 I) (And (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))) I)) (forall (J : Ideal.{u1} α _inst_1) (x : α), (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) I J) -> (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x J) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))) J)))
-Case conversion may be inaccurate. Consider using '#align ideal.is_maximal_iff Ideal.isMaximal_iffₓ'. -/
 theorem isMaximal_iff {I : Ideal α} :
     I.IsMaximal ↔ (1 : α) ∉ I ∧ ∀ (J : Ideal α) (x), I ≤ J → x ∉ I → x ∈ J → (1 : α) ∈ J :=
   isMaximal_def.trans <|
@@ -568,12 +340,6 @@ theorem isMaximal_iff {I : Ideal α} :
               J.eq_top_iff_one.2 <| H x h₁ xI xJ⟩
 #align ideal.is_maximal_iff Ideal.isMaximal_iff
 
-/- warning: ideal.is_maximal.eq_of_le -> Ideal.IsMaximal.eq_of_le is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1} {J : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 I) -> (Ne.{succ u1} (Ideal.{u1} α _inst_1) J (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) -> (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) I J) -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) I J)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1} {J : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 I) -> (Ne.{succ u1} (Ideal.{u1} α _inst_1) J (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) -> (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) I J) -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) I J)
-Case conversion may be inaccurate. Consider using '#align ideal.is_maximal.eq_of_le Ideal.IsMaximal.eq_of_leₓ'. -/
 theorem IsMaximal.eq_of_le {I J : Ideal α} (hI : I.IsMaximal) (hJ : J ≠ ⊤) (IJ : I ≤ J) : I = J :=
   eq_iff_le_not_lt.2 ⟨IJ, fun h => hJ (hI.1.2 _ h)⟩
 #align ideal.is_maximal.eq_of_le Ideal.IsMaximal.eq_of_le
@@ -584,24 +350,12 @@ instance : IsCoatomic (Ideal α) :=
   rw [← span_singleton_one]
   exact Submodule.singleton_span_isCompactElement 1
 
-/- warning: ideal.is_maximal.coprime_of_ne -> Ideal.IsMaximal.coprime_of_ne is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {M : Ideal.{u1} α _inst_1} {M' : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 M) -> (Ideal.IsMaximal.{u1} α _inst_1 M') -> (Ne.{succ u1} (Ideal.{u1} α _inst_1) M M') -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) (Sup.sup.{u1} (Ideal.{u1} α _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) M M') (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {M : Ideal.{u1} α _inst_1} {M' : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 M) -> (Ideal.IsMaximal.{u1} α _inst_1 M') -> (Ne.{succ u1} (Ideal.{u1} α _inst_1) M M') -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) (Sup.sup.{u1} (Ideal.{u1} α _inst_1) (SemilatticeSup.toSup.{u1} (Ideal.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) M M') (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
-Case conversion may be inaccurate. Consider using '#align ideal.is_maximal.coprime_of_ne Ideal.IsMaximal.coprime_of_neₓ'. -/
 theorem IsMaximal.coprime_of_ne {M M' : Ideal α} (hM : M.IsMaximal) (hM' : M'.IsMaximal)
     (hne : M ≠ M') : M ⊔ M' = ⊤ := by
   contrapose! hne with h
   exact hM.eq_of_le hM'.ne_top (le_sup_left.trans_eq (hM'.eq_of_le h le_sup_right).symm)
 #align ideal.is_maximal.coprime_of_ne Ideal.IsMaximal.coprime_of_ne
 
-/- warning: ideal.exists_le_maximal -> Ideal.exists_le_maximal is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) -> (Exists.{succ u1} (Ideal.{u1} α _inst_1) (fun (M : Ideal.{u1} α _inst_1) => And (Ideal.IsMaximal.{u1} α _inst_1 M) (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) I M)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) -> (Exists.{succ u1} (Ideal.{u1} α _inst_1) (fun (M : Ideal.{u1} α _inst_1) => And (Ideal.IsMaximal.{u1} α _inst_1 M) (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) I M)))
-Case conversion may be inaccurate. Consider using '#align ideal.exists_le_maximal Ideal.exists_le_maximalₓ'. -/
 /-- **Krull's theorem**: if `I` is an ideal that is not the whole ring, then it is included in some
     maximal ideal. -/
 theorem exists_le_maximal (I : Ideal α) (hI : I ≠ ⊤) : ∃ M : Ideal α, M.IsMaximal ∧ I ≤ M :=
@@ -626,12 +380,6 @@ instance [Nontrivial α] : Nontrivial (Ideal α) :=
   rcases@exists_maximal α _ _ with ⟨M, hM, _⟩
   exact nontrivial_of_ne M ⊤ hM
 
-/- warning: ideal.maximal_of_no_maximal -> Ideal.maximal_of_no_maximal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {P : Ideal.{u1} R _inst_2}, (forall (m : Ideal.{u1} R _inst_2), (LT.lt.{u1} (Ideal.{u1} R _inst_2) (Preorder.toHasLt.{u1} (Ideal.{u1} R _inst_2) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_2) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))))) P m) -> (Not (Ideal.IsMaximal.{u1} R _inst_2 m))) -> (forall (J : Ideal.{u1} R _inst_2), (LT.lt.{u1} (Ideal.{u1} R _inst_2) (Preorder.toHasLt.{u1} (Ideal.{u1} R _inst_2) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_2) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))))) P J) -> (Eq.{succ u1} (Ideal.{u1} R _inst_2) J (Top.top.{u1} (Ideal.{u1} R _inst_2) (Submodule.hasTop.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {P : Ideal.{u1} R _inst_2}, (forall (m : Ideal.{u1} R _inst_2), (LT.lt.{u1} (Ideal.{u1} R _inst_2) (Preorder.toLT.{u1} (Ideal.{u1} R _inst_2) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) P m) -> (Not (Ideal.IsMaximal.{u1} R _inst_2 m))) -> (forall (J : Ideal.{u1} R _inst_2), (LT.lt.{u1} (Ideal.{u1} R _inst_2) (Preorder.toLT.{u1} (Ideal.{u1} R _inst_2) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) P J) -> (Eq.{succ u1} (Ideal.{u1} R _inst_2) J (Top.top.{u1} (Ideal.{u1} R _inst_2) (Submodule.instTopSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align ideal.maximal_of_no_maximal Ideal.maximal_of_no_maximalₓ'. -/
 /-- If P is not properly contained in any maximal ideal then it is not properly contained
   in any proper ideal -/
 theorem maximal_of_no_maximal {R : Type u} [Semiring R] {P : Ideal R}
@@ -648,22 +396,10 @@ theorem span_pair_comm {x y : α} : (span {x, y} : Ideal α) = span {y, x} := by
 #align ideal.span_pair_comm Ideal.span_pair_comm
 -/
 
-/- warning: ideal.mem_span_pair -> Ideal.mem_span_pair is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {x : α} {y : α} {z : α}, Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) z (Ideal.span.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) y)))) (Exists.{succ u1} α (fun (a : α) => Exists.{succ u1} α (fun (b : α) => Eq.{succ u1} α (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) a x) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) b y)) z)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {x : α} {y : α} {z : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) z (Ideal.span.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) x (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) y)))) (Exists.{succ u1} α (fun (a : α) => Exists.{succ u1} α (fun (b : α) => Eq.{succ u1} α (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) a x) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) b y)) z)))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_span_pair Ideal.mem_span_pairₓ'. -/
 theorem mem_span_pair {x y z : α} : z ∈ span ({x, y} : Set α) ↔ ∃ a b, a * x + b * y = z :=
   Submodule.mem_span_pair
 #align ideal.mem_span_pair Ideal.mem_span_pair
 
-/- warning: ideal.span_pair_add_mul_left -> Ideal.span_pair_add_mul_left is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {x : R} {y : R} (z : R), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_2)))) x (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_2)))) y z)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y))) (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) x (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {x : R} {y : R} (z : R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) x (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_2))))) y z)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) x (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)))
-Case conversion may be inaccurate. Consider using '#align ideal.span_pair_add_mul_left Ideal.span_pair_add_mul_leftₓ'. -/
 @[simp]
 theorem span_pair_add_mul_left {R : Type u} [CommRing R] {x y : R} (z : R) :
     (span {x + y * z, y} : Ideal R) = span {x, y} :=
@@ -675,24 +411,12 @@ theorem span_pair_add_mul_left {R : Type u} [CommRing R] {x y : R} (z : R) :
       ⟨a, b - a * z, by rw [← h]; ring1⟩⟩
 #align ideal.span_pair_add_mul_left Ideal.span_pair_add_mul_left
 
-/- warning: ideal.span_pair_add_mul_right -> Ideal.span_pair_add_mul_right is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {x : R} {y : R} (z : R), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) x (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_2)))) y (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_2)))) x z))))) (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) x (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {x : R} {y : R} (z : R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) x (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) y (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_2))))) x z))))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) x (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)))
-Case conversion may be inaccurate. Consider using '#align ideal.span_pair_add_mul_right Ideal.span_pair_add_mul_rightₓ'. -/
 @[simp]
 theorem span_pair_add_mul_right {R : Type u} [CommRing R] {x y : R} (z : R) :
     (span {x, y + x * z} : Ideal R) = span {x, y} := by
   rw [span_pair_comm, span_pair_add_mul_left, span_pair_comm]
 #align ideal.span_pair_add_mul_right Ideal.span_pair_add_mul_right
 
-/- warning: ideal.is_maximal.exists_inv -> Ideal.IsMaximal.exists_inv is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 I) -> (forall {x : α}, (Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) -> (Exists.{succ u1} α (fun (y : α) => Exists.{succ u1} α (fun (i : α) => Exists.{0} (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) i I) (fun (H : Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) i I) => Eq.{succ u1} α (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) y x) i) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))))))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 I) -> (forall {x : α}, (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) -> (Exists.{succ u1} α (fun (y : α) => Exists.{succ u1} α (fun (i : α) => And (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) i I) (Eq.{succ u1} α (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) y x) i) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))))))))
-Case conversion may be inaccurate. Consider using '#align ideal.is_maximal.exists_inv Ideal.IsMaximal.exists_invₓ'. -/
 theorem IsMaximal.exists_inv {I : Ideal α} (hI : I.IsMaximal) {x} (hx : x ∉ I) :
     ∃ y, ∃ i ∈ I, y * x + i = 1 :=
   by
@@ -709,85 +433,37 @@ section Lattice
 
 variable {R : Type u} [Semiring R]
 
-/- warning: ideal.mem_sup_left -> Ideal.mem_sup_left is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x S) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Sup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x S) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Sup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_sup_left Ideal.mem_sup_leftₓ'. -/
 theorem mem_sup_left {S T : Ideal R} : ∀ {x : R}, x ∈ S → x ∈ S ⊔ T :=
   show S ≤ S ⊔ T from le_sup_left
 #align ideal.mem_sup_left Ideal.mem_sup_left
 
-/- warning: ideal.mem_sup_right -> Ideal.mem_sup_right is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x T) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Sup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x T) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Sup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_sup_right Ideal.mem_sup_rightₓ'. -/
 theorem mem_sup_right {S T : Ideal R} : ∀ {x : R}, x ∈ T → x ∈ S ⊔ T :=
   show T ≤ S ⊔ T from le_sup_right
 #align ideal.mem_sup_right Ideal.mem_sup_right
 
-/- warning: ideal.mem_supr_of_mem -> Ideal.mem_iSup_of_mem is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {ι : Sort.{u2}} {S : ι -> (Ideal.{u1} R _inst_2)} (i : ι) {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (S i)) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (iSup.{u1, u2} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))) ι S))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_2 : Semiring.{u2} R] {ι : Sort.{u1}} {S : ι -> (Ideal.{u2} R _inst_2)} (i : ι) {x : R}, (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.setLike.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (S i)) -> (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.setLike.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (iSup.{u2, u1} (Ideal.{u2} R _inst_2) (ConditionallyCompleteLattice.toSupSet.{u2} (Ideal.{u2} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_2) (Submodule.completeLattice.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)))) ι S))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_supr_of_mem Ideal.mem_iSup_of_memₓ'. -/
 theorem mem_iSup_of_mem {ι : Sort _} {S : ι → Ideal R} (i : ι) : ∀ {x : R}, x ∈ S i → x ∈ iSup S :=
   show S i ≤ iSup S from le_iSup _ _
 #align ideal.mem_supr_of_mem Ideal.mem_iSup_of_mem
 
-/- warning: ideal.mem_Sup_of_mem -> Ideal.mem_sSup_of_mem is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Set.{u1} (Ideal.{u1} R _inst_2)} {s : Ideal.{u1} R _inst_2}, (Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_2)) s S) -> (forall {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x s) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (SupSet.sSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))) S)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Set.{u1} (Ideal.{u1} R _inst_2)} {s : Ideal.{u1} R _inst_2}, (Membership.mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.instMembershipSet.{u1} (Ideal.{u1} R _inst_2)) s S) -> (forall {x : R}, (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x s) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (SupSet.sSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toSupSet.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))) S)))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_Sup_of_mem Ideal.mem_sSup_of_memₓ'. -/
 theorem mem_sSup_of_mem {S : Set (Ideal R)} {s : Ideal R} (hs : s ∈ S) :
     ∀ {x : R}, x ∈ s → x ∈ sSup S :=
   show s ≤ sSup S from le_sSup hs
 #align ideal.mem_Sup_of_mem Ideal.mem_sSup_of_mem
 
-/- warning: ideal.mem_Inf -> Ideal.mem_sInf is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {s : Set.{u1} (Ideal.{u1} R _inst_2)} {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (InfSet.sInf.{u1} (Ideal.{u1} R _inst_2) (Submodule.hasInf.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) s)) (forall {{I : Ideal.{u1} R _inst_2}}, (Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_2)) I s) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {s : Set.{u1} (Ideal.{u1} R _inst_2)} {x : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (InfSet.sInf.{u1} (Ideal.{u1} R _inst_2) (Submodule.instInfSetSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) s)) (forall {{I : Ideal.{u1} R _inst_2}}, (Membership.mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.instMembershipSet.{u1} (Ideal.{u1} R _inst_2)) I s) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_Inf Ideal.mem_sInfₓ'. -/
 theorem mem_sInf {s : Set (Ideal R)} {x : R} : x ∈ sInf s ↔ ∀ ⦃I⦄, I ∈ s → x ∈ I :=
   ⟨fun hx I his => hx I ⟨I, iInf_pos his⟩, fun H I ⟨J, hij⟩ => hij ▸ fun S ⟨hj, hS⟩ => hS ▸ H hj⟩
 #align ideal.mem_Inf Ideal.mem_sInf
 
-/- warning: ideal.mem_inf -> Ideal.mem_inf is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {I : Ideal.{u1} R _inst_2} {J : Ideal.{u1} R _inst_2} {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Inf.inf.{u1} (Ideal.{u1} R _inst_2) (Submodule.hasInf.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) I J)) (And (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I) (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x J))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {I : Ideal.{u1} R _inst_2} {J : Ideal.{u1} R _inst_2} {x : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Inf.inf.{u1} (Ideal.{u1} R _inst_2) (Submodule.instInfSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) I J)) (And (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I) (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x J))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_inf Ideal.mem_infₓ'. -/
 @[simp]
 theorem mem_inf {I J : Ideal R} {x : R} : x ∈ I ⊓ J ↔ x ∈ I ∧ x ∈ J :=
   Iff.rfl
 #align ideal.mem_inf Ideal.mem_inf
 
-/- warning: ideal.mem_infi -> Ideal.mem_iInf is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {ι : Sort.{u2}} {I : ι -> (Ideal.{u1} R _inst_2)} {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (iInf.{u1, u2} (Ideal.{u1} R _inst_2) (Submodule.hasInf.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) ι I)) (forall (i : ι), Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (I i))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_2 : Semiring.{u2} R] {ι : Sort.{u1}} {I : ι -> (Ideal.{u2} R _inst_2)} {x : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.setLike.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (iInf.{u2, u1} (Ideal.{u2} R _inst_2) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) ι I)) (forall (i : ι), Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.setLike.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (I i))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_infi Ideal.mem_iInfₓ'. -/
 @[simp]
 theorem mem_iInf {ι : Sort _} {I : ι → Ideal R} {x : R} : x ∈ iInf I ↔ ∀ i, x ∈ I i :=
   Submodule.mem_iInf _
 #align ideal.mem_infi Ideal.mem_iInf
 
-/- warning: ideal.mem_bot -> Ideal.mem_bot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Bot.bot.{u1} (Ideal.{u1} R _inst_2) (Submodule.hasBot.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _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 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))))))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {x : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Bot.bot.{u1} (Ideal.{u1} R _inst_2) (Submodule.instBotSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))) (Eq.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_bot Ideal.mem_botₓ'. -/
 @[simp]
 theorem mem_bot {x : R} : x ∈ (⊥ : Ideal R) ↔ x = 0 :=
   Submodule.mem_bot _
@@ -817,12 +493,6 @@ theorem mem_pi (x : ι → α) : x ∈ I.pi ι ↔ ∀ i, x i ∈ I :=
 
 end Pi
 
-/- warning: ideal.Inf_is_prime_of_is_chain -> Ideal.sInf_isPrime_of_isChain is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} (Ideal.{u1} α _inst_1)}, (Set.Nonempty.{u1} (Ideal.{u1} α _inst_1) s) -> (IsChain.{u1} (Ideal.{u1} α _inst_1) (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) s) -> (forall (p : Ideal.{u1} α _inst_1), (Membership.Mem.{u1, u1} (Ideal.{u1} α _inst_1) (Set.{u1} (Ideal.{u1} α _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} α _inst_1)) p s) -> (Ideal.IsPrime.{u1} α _inst_1 p)) -> (Ideal.IsPrime.{u1} α _inst_1 (InfSet.sInf.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasInf.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) s))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} (Ideal.{u1} α _inst_1)}, (Set.Nonempty.{u1} (Ideal.{u1} α _inst_1) s) -> (IsChain.{u1} (Ideal.{u1} α _inst_1) (fun (x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4480 : Ideal.{u1} α _inst_1) (x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4482 : Ideal.{u1} α _inst_1) => LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4480 x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4482) s) -> (forall (p : Ideal.{u1} α _inst_1), (Membership.mem.{u1, u1} (Ideal.{u1} α _inst_1) (Set.{u1} (Ideal.{u1} α _inst_1)) (Set.instMembershipSet.{u1} (Ideal.{u1} α _inst_1)) p s) -> (Ideal.IsPrime.{u1} α _inst_1 p)) -> (Ideal.IsPrime.{u1} α _inst_1 (InfSet.sInf.{u1} (Ideal.{u1} α _inst_1) (Submodule.instInfSetSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) s))
-Case conversion may be inaccurate. Consider using '#align ideal.Inf_is_prime_of_is_chain Ideal.sInf_isPrime_of_isChainₓ'. -/
 theorem sInf_isPrime_of_isChain {s : Set (Ideal α)} (hs : s.Nonempty) (hs' : IsChain (· ≤ ·) s)
     (H : ∀ p ∈ s, Ideal.IsPrime p) : (sInf s).IsPrime :=
   ⟨fun e =>
@@ -854,12 +524,6 @@ namespace Ideal
 
 variable [CommSemiring α] (I : Ideal α)
 
-/- warning: ideal.mul_unit_mem_iff_mem -> Ideal.mul_unit_mem_iff_mem is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] (I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) {x : α} {y : α}, (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))) y) -> (Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))))) x y) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) x I))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] (I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) {x : α} {y : α}, (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))) y) -> (Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) x y) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) x I))
-Case conversion may be inaccurate. Consider using '#align ideal.mul_unit_mem_iff_mem Ideal.mul_unit_mem_iff_memₓ'. -/
 @[simp]
 theorem mul_unit_mem_iff_mem {x y : α} (hy : IsUnit y) : x * y ∈ I ↔ x ∈ I :=
   mul_comm y x ▸ unit_mul_mem_iff_mem I hy
@@ -877,23 +541,11 @@ theorem mem_span_singleton_self (x : α) : x ∈ span ({x} : Set α) :=
 #align ideal.mem_span_singleton_self Ideal.mem_span_singleton_self
 -/
 
-/- warning: ideal.span_singleton_le_span_singleton -> Ideal.span_singleton_le_span_singleton is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {x : α} {y : α}, Iff (LE.le.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) y))) (Dvd.Dvd.{u1} α (semigroupDvd.{u1} α (SemigroupWithZero.toSemigroup.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} α (CommSemiring.toNonUnitalCommSemiring.{u1} α _inst_1))))) y x)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {x : α} {y : α}, Iff (LE.le.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Submodule.completeLattice.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) y))) (Dvd.dvd.{u1} α (semigroupDvd.{u1} α (SemigroupWithZero.toSemigroup.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} α (CommSemiring.toNonUnitalCommSemiring.{u1} α _inst_1))))) y x)
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_le_span_singleton Ideal.span_singleton_le_span_singletonₓ'. -/
 theorem span_singleton_le_span_singleton {x y : α} :
     span ({x} : Set α) ≤ span ({y} : Set α) ↔ y ∣ x :=
   span_le.trans <| singleton_subset_iff.trans mem_span_singleton
 #align ideal.span_singleton_le_span_singleton Ideal.span_singleton_le_span_singleton
 
-/- warning: ideal.span_singleton_eq_span_singleton -> Ideal.span_singleton_eq_span_singleton is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_2 : CommRing.{u1} α] [_inst_3 : IsDomain.{u1} α (Ring.toSemiring.{u1} α (CommRing.toRing.{u1} α _inst_2))] {x : α} {y : α}, Iff (Eq.{succ u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α (CommRing.toRing.{u1} α _inst_2))) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α (CommRing.toRing.{u1} α _inst_2)) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α (CommRing.toRing.{u1} α _inst_2)) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) y))) (Associated.{u1} α (Ring.toMonoid.{u1} α (CommRing.toRing.{u1} α _inst_2)) x y)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_2 : CommRing.{u1} α] [_inst_3 : IsDomain.{u1} α (CommSemiring.toSemiring.{u1} α (CommRing.toCommSemiring.{u1} α _inst_2))] {x : α} {y : α}, Iff (Eq.{succ u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α (CommRing.toCommSemiring.{u1} α _inst_2))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α (CommRing.toCommSemiring.{u1} α _inst_2)) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α (CommRing.toCommSemiring.{u1} α _inst_2)) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) y))) (Associated.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α (CommRing.toCommSemiring.{u1} α _inst_2)))) x y)
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_eq_span_singleton Ideal.span_singleton_eq_span_singletonₓ'. -/
 theorem span_singleton_eq_span_singleton {α : Type u} [CommRing α] [IsDomain α] {x y : α} :
     span ({x} : Set α) = span ({y} : Set α) ↔ Associated x y :=
   by
@@ -901,32 +553,14 @@ theorem span_singleton_eq_span_singleton {α : Type u} [CommRing α] [IsDomain 
   apply and_congr <;> rw [span_singleton_le_span_singleton]
 #align ideal.span_singleton_eq_span_singleton Ideal.span_singleton_eq_span_singleton
 
-/- warning: ideal.span_singleton_mul_right_unit -> Ideal.span_singleton_mul_right_unit is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {a : α}, (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))) a) -> (forall (x : α), Eq.{succ u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))))) x a))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {a : α}, (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))) a) -> (forall (x : α), Eq.{succ u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) x a))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)))
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_mul_right_unit Ideal.span_singleton_mul_right_unitₓ'. -/
 theorem span_singleton_mul_right_unit {a : α} (h2 : IsUnit a) (x : α) :
     span ({x * a} : Set α) = span {x} := by rw [mul_comm, span_singleton_mul_left_unit h2]
 #align ideal.span_singleton_mul_right_unit Ideal.span_singleton_mul_right_unit
 
-/- warning: ideal.span_singleton_eq_top -> Ideal.span_singleton_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {x : α}, Iff (Eq.{succ u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)) (Top.top.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Submodule.hasTop.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))) x)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {x : α}, Iff (Eq.{succ u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) (Top.top.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Submodule.instTopSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))) x)
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_eq_top Ideal.span_singleton_eq_topₓ'. -/
 theorem span_singleton_eq_top {x} : span ({x} : Set α) = ⊤ ↔ IsUnit x := by
   rw [isUnit_iff_dvd_one, ← span_singleton_le_span_singleton, span_singleton_one, eq_top_iff]
 #align ideal.span_singleton_eq_top Ideal.span_singleton_eq_top
 
-/- warning: ideal.span_singleton_prime -> Ideal.span_singleton_prime is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {p : α}, (Ne.{succ u1} α p (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))))))) -> (Iff (Ideal.IsPrime.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) p))) (Prime.{u1} α (CommSemiring.toCommMonoidWithZero.{u1} α _inst_1) p))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {p : α}, (Ne.{succ u1} α p (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (CommMonoidWithZero.toZero.{u1} α (CommSemiring.toCommMonoidWithZero.{u1} α _inst_1))))) -> (Iff (Ideal.IsPrime.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) p))) (Prime.{u1} α (CommSemiring.toCommMonoidWithZero.{u1} α _inst_1) p))
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_prime Ideal.span_singleton_primeₓ'. -/
 theorem span_singleton_prime {p : α} (hp : p ≠ 0) : IsPrime (span ({p} : Set α)) ↔ Prime p := by
   simp [is_prime_iff, Prime, span_singleton_eq_top, hp, mem_span_singleton]
 #align ideal.span_singleton_prime Ideal.span_singleton_prime
@@ -956,24 +590,12 @@ instance (priority := 100) IsMaximal.isPrime' (I : Ideal α) : ∀ [H : I.IsMaxi
 #align ideal.is_maximal.is_prime' Ideal.IsMaximal.isPrime'
 -/
 
-/- warning: ideal.span_singleton_lt_span_singleton -> Ideal.span_singleton_lt_span_singleton is a dubious translation:
-lean 3 declaration is
-  forall {β : Type.{u1}} [_inst_2 : CommRing.{u1} β] [_inst_3 : IsDomain.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))] {x : β} {y : β}, Iff (LT.lt.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (Preorder.toHasLt.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) β (Submodule.setLike.{u1, u1} β β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β (Semiring.toNonAssocSemiring.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))) (Semiring.toModule.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))))) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.hasSingleton.{u1} β) x)) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.hasSingleton.{u1} β) y))) (DvdNotUnit.{u1} β (CommSemiring.toCommMonoidWithZero.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) y x)
-but is expected to have type
-  forall {β : Type.{u1}} [_inst_2 : CommRing.{u1} β] [_inst_3 : IsDomain.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))] {x : β} {y : β}, Iff (LT.lt.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (Preorder.toLT.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (Submodule.completeLattice.{u1, u1} β β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β (Semiring.toNonAssocSemiring.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))))) (Semiring.toModule.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)))))))) (Ideal.span.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) x)) (Ideal.span.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) y))) (DvdNotUnit.{u1} β (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} β (IsDomain.toCancelCommMonoidWithZero.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2) _inst_3)) y x)
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_lt_span_singleton Ideal.span_singleton_lt_span_singletonₓ'. -/
 theorem span_singleton_lt_span_singleton [CommRing β] [IsDomain β] {x y : β} :
     span ({x} : Set β) < span ({y} : Set β) ↔ DvdNotUnit y x := by
   rw [lt_iff_le_not_le, span_singleton_le_span_singleton, span_singleton_le_span_singleton,
     dvd_and_not_dvd_iff]
 #align ideal.span_singleton_lt_span_singleton Ideal.span_singleton_lt_span_singleton
 
-/- warning: ideal.factors_decreasing -> Ideal.factors_decreasing is a dubious translation:
-lean 3 declaration is
-  forall {β : Type.{u1}} [_inst_2 : CommRing.{u1} β] [_inst_3 : IsDomain.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))] (b₁ : β) (b₂ : β), (Ne.{succ u1} β b₁ (OfNat.ofNat.{u1} β 0 (OfNat.mk.{u1} β 0 (Zero.zero.{u1} β (MulZeroClass.toHasZero.{u1} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} β (NonAssocRing.toNonUnitalNonAssocRing.{u1} β (Ring.toNonAssocRing.{u1} β (CommRing.toRing.{u1} β _inst_2)))))))))) -> (Not (IsUnit.{u1} β (Ring.toMonoid.{u1} β (CommRing.toRing.{u1} β _inst_2)) b₂)) -> (LT.lt.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (Preorder.toHasLt.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) β (Submodule.setLike.{u1, u1} β β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β (Semiring.toNonAssocSemiring.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))) (Semiring.toModule.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))))) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.hasSingleton.{u1} β) (HMul.hMul.{u1, u1, u1} β β β (instHMul.{u1} β (Distrib.toHasMul.{u1} β (Ring.toDistrib.{u1} β (CommRing.toRing.{u1} β _inst_2)))) b₁ b₂))) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.hasSingleton.{u1} β) b₁)))
-but is expected to have type
-  forall {β : Type.{u1}} [_inst_2 : CommRing.{u1} β] [_inst_3 : IsDomain.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))] (b₁ : β) (b₂ : β), (Ne.{succ u1} β b₁ (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β (CommMonoidWithZero.toZero.{u1} β (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} β (IsDomain.toCancelCommMonoidWithZero.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2) _inst_3)))))) -> (Not (IsUnit.{u1} β (MonoidWithZero.toMonoid.{u1} β (Semiring.toMonoidWithZero.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)))) b₂)) -> (LT.lt.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (Preorder.toLT.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (Submodule.completeLattice.{u1, u1} β β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β (Semiring.toNonAssocSemiring.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))))) (Semiring.toModule.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)))))))) (Ideal.span.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) (HMul.hMul.{u1, u1, u1} β β β (instHMul.{u1} β (NonUnitalNonAssocRing.toMul.{u1} β (NonAssocRing.toNonUnitalNonAssocRing.{u1} β (Ring.toNonAssocRing.{u1} β (CommRing.toRing.{u1} β _inst_2))))) b₁ b₂))) (Ideal.span.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) b₁)))
-Case conversion may be inaccurate. Consider using '#align ideal.factors_decreasing Ideal.factors_decreasingₓ'. -/
 theorem factors_decreasing [CommRing β] [IsDomain β] (b₁ b₂ : β) (h₁ : b₁ ≠ 0) (h₂ : ¬IsUnit b₂) :
     span ({b₁ * b₂} : Set β) < span {b₁} :=
   lt_of_le_not_le
@@ -985,12 +607,6 @@ theorem factors_decreasing [CommRing β] [IsDomain β] (b₁ b₂ : β) (h₁ :
 
 variable (b)
 
-/- warning: ideal.mul_mem_right -> Ideal.mul_mem_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {a : α} (b : α) [_inst_1 : CommSemiring.{u1} α] (I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)), (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) a I) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))))) a b) I)
-but is expected to have type
-  forall {α : Type.{u1}} {a : α} (b : α) [_inst_1 : CommSemiring.{u1} α] (I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)), (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) a I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) a b) I)
-Case conversion may be inaccurate. Consider using '#align ideal.mul_mem_right Ideal.mul_mem_rightₓ'. -/
 theorem mul_mem_right (h : a ∈ I) : a * b ∈ I :=
   mul_comm b a ▸ I.mul_mem_left b h
 #align ideal.mul_mem_right Ideal.mul_mem_right
@@ -1004,12 +620,6 @@ theorem pow_mem_of_mem (ha : a ∈ I) (n : ℕ) (hn : 0 < n) : a ^ n ∈ I :=
 #align ideal.pow_mem_of_mem Ideal.pow_mem_of_mem
 -/
 
-/- warning: ideal.is_prime.mul_mem_iff_mem_or_mem -> Ideal.IsPrime.mul_mem_iff_mem_or_mem is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)}, (Ideal.IsPrime.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) I) -> (forall {x : α} {y : α}, Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))))) x y) I) (Or (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) x I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) y I)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)}, (Ideal.IsPrime.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) I) -> (forall {x : α} {y : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) x y) I) (Or (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) x I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) y I)))
-Case conversion may be inaccurate. Consider using '#align ideal.is_prime.mul_mem_iff_mem_or_mem Ideal.IsPrime.mul_mem_iff_mem_or_memₓ'. -/
 theorem IsPrime.mul_mem_iff_mem_or_mem {I : Ideal α} (hI : I.IsPrime) :
     ∀ {x y : α}, x * y ∈ I ↔ x ∈ I ∨ y ∈ I := fun x y =>
   ⟨hI.mem_or_mem, by rintro (h | h); exacts[I.mul_mem_right y h, I.mul_mem_left x h]⟩
@@ -1022,12 +632,6 @@ theorem IsPrime.pow_mem_iff_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : 
 #align ideal.is_prime.pow_mem_iff_mem Ideal.IsPrime.pow_mem_iff_mem
 -/
 
-/- warning: ideal.pow_multiset_sum_mem_span_pow -> Ideal.pow_multiset_sum_mem_span_pow is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] (s : Multiset.{u1} α) (n : Nat), Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) (Multiset.sum.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) s) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HMul.hMul.{0, 0, 0} Nat Nat Nat (instHMul.{0} Nat Nat.hasMul) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (fun (_x : AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) => (Multiset.{u1} α) -> Nat) (AddMonoidHom.hasCoeToFun.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.card.{u1} α) s) n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) (Multiset.toFinset.{u1} α (fun (a : α) (b : α) => Classical.propDecidable (Eq.{succ u1} α a b)) (Multiset.map.{u1, u1} α α (fun (x : α) => HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) x (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) s))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] (s : Multiset.{u1} α) (n : Nat), Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) α (instHPow.{u1, 0} α ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) (Multiset.sum.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) s) (HAdd.hAdd.{0, 0, 0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) (instHAdd.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) instAddNat) (HMul.hMul.{0, 0, 0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) (instHMul.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) instMulNat) (FunLike.coe.{succ u1, succ u1, 1} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) (fun (_x : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) _x) (AddHomClass.toFunLike.{u1, u1, 0} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) Nat (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{0} Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoidHomClass.toAddHomClass.{u1, u1, 0} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid) (AddMonoidHom.addMonoidHomClass.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))) (Multiset.card.{u1} α) s) n) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) 1 (instOfNatNat 1)))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Finset.toSet.{u1} α (Multiset.toFinset.{u1} α (fun (a : α) (b : α) => Classical.propDecidable (Eq.{succ u1} α a b)) (Multiset.map.{u1, u1} α α (fun (x : α) => HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) x (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) s))))
-Case conversion may be inaccurate. Consider using '#align ideal.pow_multiset_sum_mem_span_pow Ideal.pow_multiset_sum_mem_span_powₓ'. -/
 theorem pow_multiset_sum_mem_span_pow (s : Multiset α) (n : ℕ) :
     s.Sum ^ (s.card * n + 1) ∈ span ((s.map fun x => x ^ (n + 1)).toFinset : Set α) :=
   by
@@ -1056,12 +660,6 @@ theorem pow_multiset_sum_mem_span_pow (s : Multiset α) (n : ℕ) :
     exact mul_mem_left _ _ hs
 #align ideal.pow_multiset_sum_mem_span_pow Ideal.pow_multiset_sum_mem_span_pow
 
-/- warning: ideal.sum_pow_mem_span_pow -> Ideal.sum_pow_mem_span_pow is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {ι : Type.{u2}} (s : Finset.{u2} ι) (f : ι -> α) (n : Nat), Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) (Finset.sum.{u1, u2} α ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) s (fun (i : ι) => f i)) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HMul.hMul.{0, 0, 0} Nat Nat Nat (instHMul.{0} Nat Nat.hasMul) (Finset.card.{u2} ι s) n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Set.image.{u2, u1} ι α (fun (i : ι) => HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) (f i) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) ((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)))
-but is expected to have type
-  forall {α : Type.{u2}} [_inst_1 : CommSemiring.{u2} α] {ι : Type.{u1}} (s : Finset.{u1} ι) (f : ι -> α) (n : Nat), Membership.mem.{u2, u2} α (Ideal.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1)) α (Submodule.setLike.{u2, u2} α α (CommSemiring.toSemiring.{u2} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1)))) (Semiring.toModule.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1)))) (HPow.hPow.{u2, 0, u2} α Nat α (instHPow.{u2, 0} α Nat (Monoid.Pow.{u2} α (MonoidWithZero.toMonoid.{u2} α (Semiring.toMonoidWithZero.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1))))) (Finset.sum.{u2, u1} α ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1)))) s (fun (i : ι) => f i)) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HMul.hMul.{0, 0, 0} Nat Nat Nat (instHMul.{0} Nat instMulNat) (Finset.card.{u1} ι s) n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Ideal.span.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1) (Set.image.{u1, u2} ι α (fun (i : ι) => HPow.hPow.{u2, 0, u2} α Nat α (instHPow.{u2, 0} α Nat (Monoid.Pow.{u2} α (MonoidWithZero.toMonoid.{u2} α (Semiring.toMonoidWithZero.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1))))) (f i) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Finset.toSet.{u1} ι s)))
-Case conversion may be inaccurate. Consider using '#align ideal.sum_pow_mem_span_pow Ideal.sum_pow_mem_span_powₓ'. -/
 theorem sum_pow_mem_span_pow {ι} (s : Finset ι) (f : ι → α) (n : ℕ) :
     (∑ i in s, f i) ^ (s.card * n + 1) ∈ span ((fun i => f i ^ (n + 1)) '' s) :=
   by
@@ -1070,12 +668,6 @@ theorem sum_pow_mem_span_pow {ι} (s : Finset ι) (f : ι → α) (n : ℕ) :
   rw [Multiset.map_map, Multiset.toFinset_map, Finset.val_toFinset, Finset.coe_image]
 #align ideal.sum_pow_mem_span_pow Ideal.sum_pow_mem_span_pow
 
-/- warning: ideal.span_pow_eq_top -> Ideal.span_pow_eq_top is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] (s : Set.{u1} α), (Eq.{succ u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) s) (Top.top.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Submodule.hasTop.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) -> (forall (n : Nat), Eq.{succ u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Set.image.{u1, u1} α α (fun (x : α) => HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) x n) s)) (Top.top.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Submodule.hasTop.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] (s : Set.{u1} α), (Eq.{succ u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) s) (Top.top.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Submodule.instTopSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) -> (forall (n : Nat), Eq.{succ u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Set.image.{u1, u1} α α (fun (x : α) => HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) x n) s)) (Top.top.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Submodule.instTopSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align ideal.span_pow_eq_top Ideal.span_pow_eq_topₓ'. -/
 theorem span_pow_eq_top (s : Set α) (hs : span s = ⊤) (n : ℕ) : span ((fun x => x ^ n) '' s) = ⊤ :=
   by
   rw [eq_top_iff_one]
@@ -1112,62 +704,26 @@ namespace Ideal
 
 variable [Ring α] (I : Ideal α) {a b : α}
 
-/- warning: ideal.neg_mem_iff -> Ideal.neg_mem_iff is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α}, Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Neg.neg.{u1} α (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1))))) a) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Neg.neg.{u1} α (Ring.toNeg.{u1} α _inst_1) a) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I)
-Case conversion may be inaccurate. Consider using '#align ideal.neg_mem_iff Ideal.neg_mem_iffₓ'. -/
 protected theorem neg_mem_iff : -a ∈ I ↔ a ∈ I :=
   neg_mem_iff
 #align ideal.neg_mem_iff Ideal.neg_mem_iff
 
-/- warning: ideal.add_mem_iff_left -> Ideal.add_mem_iff_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I) -> (Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toHasAdd.{u1} α (Ring.toDistrib.{u1} α _inst_1))) a b) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I) -> (Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))))) a b) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I))
-Case conversion may be inaccurate. Consider using '#align ideal.add_mem_iff_left Ideal.add_mem_iff_leftₓ'. -/
 protected theorem add_mem_iff_left : b ∈ I → (a + b ∈ I ↔ a ∈ I) :=
   I.add_mem_iff_left
 #align ideal.add_mem_iff_left Ideal.add_mem_iff_left
 
-/- warning: ideal.add_mem_iff_right -> Ideal.add_mem_iff_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I) -> (Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toHasAdd.{u1} α (Ring.toDistrib.{u1} α _inst_1))) a b) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I) -> (Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))))) a b) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I))
-Case conversion may be inaccurate. Consider using '#align ideal.add_mem_iff_right Ideal.add_mem_iff_rightₓ'. -/
 protected theorem add_mem_iff_right : a ∈ I → (a + b ∈ I ↔ b ∈ I) :=
   I.add_mem_iff_right
 #align ideal.add_mem_iff_right Ideal.add_mem_iff_right
 
-/- warning: ideal.sub_mem -> Ideal.sub_mem is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α (SubNegMonoid.toHasSub.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1)))))) a b) I)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α (Ring.toSub.{u1} α _inst_1)) a b) I)
-Case conversion may be inaccurate. Consider using '#align ideal.sub_mem Ideal.sub_memₓ'. -/
 protected theorem sub_mem : a ∈ I → b ∈ I → a - b ∈ I :=
   sub_mem
 #align ideal.sub_mem Ideal.sub_mem
 
-/- warning: ideal.mem_span_insert' -> Ideal.mem_span_insert' is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] {s : Set.{u1} α} {x : α} {y : α}, Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) x (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) y s))) (Exists.{succ u1} α (fun (a : α) => Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toHasAdd.{u1} α (Ring.toDistrib.{u1} α _inst_1))) x (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α _inst_1))) a y)) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) s)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] {s : Set.{u1} α} {x : α} {y : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) x (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) y s))) (Exists.{succ u1} α (fun (a : α) => Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))))) x (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))) a y)) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) s)))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_span_insert' Ideal.mem_span_insert'ₓ'. -/
 theorem mem_span_insert' {s : Set α} {x y} : x ∈ span (insert y s) ↔ ∃ a, x + a * y ∈ span s :=
   Submodule.mem_span_insert'
 #align ideal.mem_span_insert' Ideal.mem_span_insert'
 
-/- warning: ideal.span_singleton_neg -> Ideal.span_singleton_neg is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (x : α), Eq.{succ u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) (Neg.neg.{u1} α (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1))))) x))) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (x : α), Eq.{succ u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) (Neg.neg.{u1} α (Ring.toNeg.{u1} α _inst_1) x))) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x))
-Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_neg Ideal.span_singleton_negₓ'. -/
 @[simp]
 theorem span_singleton_neg (x : α) : (span {-x} : Ideal α) = span {x} :=
   by
@@ -1185,12 +741,6 @@ variable {K : Type u} [DivisionSemiring K] (I : Ideal K)
 
 namespace Ideal
 
-/- warning: ideal.eq_bot_or_top -> Ideal.eq_bot_or_top is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : DivisionSemiring.{u1} K] (I : Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)), Or (Eq.{succ u1} (Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)) I (Bot.bot.{u1} (Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)) (Submodule.hasBot.{u1, u1} K K (DivisionSemiring.toSemiring.{u1} K _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)))) (Semiring.toModule.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1))))) (Eq.{succ u1} (Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)) I (Top.top.{u1} (Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)) (Submodule.hasTop.{u1, u1} K K (DivisionSemiring.toSemiring.{u1} K _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)))) (Semiring.toModule.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)))))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : DivisionSemiring.{u1} K] (I : Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)), Or (Eq.{succ u1} (Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)) I (Bot.bot.{u1} (Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)) (Submodule.instBotSubmodule.{u1, u1} K K (DivisionSemiring.toSemiring.{u1} K _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)))) (Semiring.toModule.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1))))) (Eq.{succ u1} (Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)) I (Top.top.{u1} (Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)) (Submodule.instTopSubmodule.{u1, u1} K K (DivisionSemiring.toSemiring.{u1} K _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)))) (Semiring.toModule.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align ideal.eq_bot_or_top Ideal.eq_bot_or_topₓ'. -/
 /-- All ideals in a division (semi)ring are trivial. -/
 theorem eq_bot_or_top : I = ⊥ ∨ I = ⊤ :=
   by
@@ -1209,22 +759,10 @@ this automatically gives a `is_simple_module K` instance. -/
 instance : IsSimpleOrder (Ideal K) :=
   ⟨eq_bot_or_top⟩
 
-/- warning: ideal.eq_bot_of_prime -> Ideal.eq_bot_of_prime is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : DivisionSemiring.{u1} K] (I : Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)) [h : Ideal.IsPrime.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1) I], Eq.{succ u1} (Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)) I (Bot.bot.{u1} (Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)) (Submodule.hasBot.{u1, u1} K K (DivisionSemiring.toSemiring.{u1} K _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)))) (Semiring.toModule.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1))))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : DivisionSemiring.{u1} K] (I : Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)) [h : Ideal.IsPrime.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1) I], Eq.{succ u1} (Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)) I (Bot.bot.{u1} (Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)) (Submodule.instBotSubmodule.{u1, u1} K K (DivisionSemiring.toSemiring.{u1} K _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)))) (Semiring.toModule.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1))))
-Case conversion may be inaccurate. Consider using '#align ideal.eq_bot_of_prime Ideal.eq_bot_of_primeₓ'. -/
 theorem eq_bot_of_prime [h : I.IsPrime] : I = ⊥ :=
   or_iff_not_imp_right.mp I.eq_bot_or_top h.1
 #align ideal.eq_bot_of_prime Ideal.eq_bot_of_prime
 
-/- warning: ideal.bot_is_maximal -> Ideal.bot_isMaximal is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} [_inst_1 : DivisionSemiring.{u1} K], Ideal.IsMaximal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1) (Bot.bot.{u1} (Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)) (Submodule.hasBot.{u1, u1} K K (DivisionSemiring.toSemiring.{u1} K _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)))) (Semiring.toModule.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1))))
-but is expected to have type
-  forall {K : Type.{u1}} [_inst_1 : DivisionSemiring.{u1} K], Ideal.IsMaximal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1) (Bot.bot.{u1} (Ideal.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)) (Submodule.instBotSubmodule.{u1, u1} K K (DivisionSemiring.toSemiring.{u1} K _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} K (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} K (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1)))) (Semiring.toModule.{u1} K (DivisionSemiring.toSemiring.{u1} K _inst_1))))
-Case conversion may be inaccurate. Consider using '#align ideal.bot_is_maximal Ideal.bot_isMaximalₓ'. -/
 theorem bot_isMaximal : IsMaximal (⊥ : Ideal K) :=
   ⟨⟨fun h => absurd ((eq_top_iff_one (⊤ : Ideal K)).mp rfl) (by rw [← h] <;> simp), fun I hI =>
       or_iff_not_imp_left.mp (eq_bot_or_top I) (ne_of_gt hI)⟩⟩
@@ -1238,12 +776,6 @@ section CommRing
 
 namespace Ideal
 
-/- warning: ideal.mul_sub_mul_mem -> Ideal.mul_sub_mul_mem 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))) {a : R} {b : R} {c : R} {d : R}, (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) a b) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) c d) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (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)))) a c) (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)))) b d)) 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))) {a : R} {b : R} {c : R} {d : R}, (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) a b) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) c d) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{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))))) a c) (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))))) b d)) I)
-Case conversion may be inaccurate. Consider using '#align ideal.mul_sub_mul_mem Ideal.mul_sub_mul_memₓ'. -/
 theorem mul_sub_mul_mem {R : Type _} [CommRing R] (I : Ideal R) {a b c d : R} (h1 : a - b ∈ I)
     (h2 : c - d ∈ I) : a * c - b * d ∈ I :=
   by
@@ -1261,12 +793,6 @@ namespace Ring
 
 variable {R : Type _} [CommSemiring R]
 
-/- warning: ring.exists_not_is_unit_of_not_is_field -> Ring.exists_not_isUnit_of_not_isField is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R], (Not (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) -> (Exists.{succ u1} R (fun (x : R) => Exists.{0} (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))))))))) (fun (H : 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))))))))) => Not (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) x))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R], (Not (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) -> (Exists.{succ u1} R (fun (x : R) => Exists.{0} (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1))))) (fun (H : Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1))))) => Not (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) x))))
-Case conversion may be inaccurate. Consider using '#align ring.exists_not_is_unit_of_not_is_field Ring.exists_not_isUnit_of_not_isFieldₓ'. -/
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ≠ » (0 : R)) -/
 theorem exists_not_isUnit_of_not_isField [Nontrivial R] (hf : ¬IsField R) :
     ∃ (x : _)(_ : x ≠ (0 : R)), ¬IsUnit x :=
@@ -1278,12 +804,6 @@ theorem exists_not_isUnit_of_not_isField [Nontrivial R] (hf : ¬IsField R) :
   exact ⟨x, hx, not_unit⟩
 #align ring.exists_not_is_unit_of_not_is_field Ring.exists_not_isUnit_of_not_isField
 
-/- warning: ring.not_is_field_iff_exists_ideal_bot_lt_and_lt_top -> Ring.not_isField_iff_exists_ideal_bot_lt_and_lt_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R], Iff (Not (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Exists.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (LT.lt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{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) (LT.lt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (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 (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] [_inst_2 : Nontrivial.{u1} R], Iff (Not (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Exists.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (LT.lt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLT.{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))))))) (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) (LT.lt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLT.{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 (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 ring.not_is_field_iff_exists_ideal_bot_lt_and_lt_top Ring.not_isField_iff_exists_ideal_bot_lt_and_lt_topₓ'. -/
 theorem not_isField_iff_exists_ideal_bot_lt_and_lt_top [Nontrivial R] :
     ¬IsField R ↔ ∃ I : Ideal R, ⊥ < I ∧ I < ⊤ :=
   by
@@ -1301,12 +821,6 @@ theorem not_isField_iff_exists_ideal_bot_lt_and_lt_top [Nontrivial R] :
     exact lt_top (I.mul_mem_right _ mem)
 #align ring.not_is_field_iff_exists_ideal_bot_lt_and_lt_top Ring.not_isField_iff_exists_ideal_bot_lt_and_lt_top
 
-/- warning: ring.not_is_field_iff_exists_prime -> Ring.not_isField_iff_exists_prime is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R], Iff (Not (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Exists.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (p : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (Ne.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) p (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) p)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R], Iff (Not (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Exists.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (p : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (Ne.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) p (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.instBotSubmodule.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Ideal.IsPrime.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) p)))
-Case conversion may be inaccurate. Consider using '#align ring.not_is_field_iff_exists_prime Ring.not_isField_iff_exists_primeₓ'. -/
 theorem not_isField_iff_exists_prime [Nontrivial R] :
     ¬IsField R ↔ ∃ p : Ideal R, p ≠ ⊥ ∧ p.IsPrime :=
   not_isField_iff_exists_ideal_bot_lt_and_lt_top.trans
@@ -1316,12 +830,6 @@ theorem not_isField_iff_exists_prime [Nontrivial R] :
       fun ⟨p, ne_bot, Prime⟩ => ⟨p, bot_lt_iff_ne_bot.mpr ne_bot, lt_top_iff_ne_top.mpr Prime.1⟩⟩
 #align ring.not_is_field_iff_exists_prime Ring.not_isField_iff_exists_prime
 
-/- warning: ring.is_field_iff_is_simple_order_ideal -> Ring.isField_iff_isSimpleOrder_ideal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R], Iff (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IsSimpleOrder.{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)) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (CompleteLattice.toBoundedOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (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], Iff (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IsSimpleOrder.{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))))))) (CompleteLattice.toBoundedOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (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 ring.is_field_iff_is_simple_order_ideal Ring.isField_iff_isSimpleOrder_idealₓ'. -/
 /-- Also see `ideal.is_simple_order` for the forward direction as an instance when `R` is a
 division (semi)ring. 
 
@@ -1339,12 +847,6 @@ theorem isField_iff_isSimpleOrder_ideal : IsField R ↔ IsSimpleOrder (Ideal R)
   exact ⟨fun h => ⟨h⟩, fun h => h.2⟩
 #align ring.is_field_iff_is_simple_order_ideal Ring.isField_iff_isSimpleOrder_ideal
 
-/- warning: ring.ne_bot_of_is_maximal_of_not_is_field -> Ring.ne_bot_of_isMaximal_of_not_isField is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R] {M : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsMaximal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) M) -> (Not (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) -> (Ne.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) M (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.hasBot.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R] {M : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)}, (Ideal.IsMaximal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1) M) -> (Not (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) -> (Ne.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) M (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 ring.ne_bot_of_is_maximal_of_not_is_field Ring.ne_bot_of_isMaximal_of_not_isFieldₓ'. -/
 /-- When a ring is not a field, the maximal ideals are nontrivial. -/
 theorem ne_bot_of_isMaximal_of_not_isField [Nontrivial R] {M : Ideal R} (max : M.IsMaximal)
     (not_field : ¬IsField R) : M ≠ ⊥ := by
@@ -1361,12 +863,6 @@ namespace Ideal
 
 variable {R : Type u} [CommRing R] [Nontrivial R]
 
-/- warning: ideal.bot_lt_of_maximal -> Ideal.bot_lt_of_maximal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Nontrivial.{u1} R] (M : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) [hm : Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M], (Not (IsField.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) -> (LT.lt.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLt.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasBot.{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))))) M)
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Nontrivial.{u1} R] (M : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) [hm : Ideal.IsMaximal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) M], (Not (IsField.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) -> (LT.lt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLT.{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)))))))) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instBotSubmodule.{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))))) M)
-Case conversion may be inaccurate. Consider using '#align ideal.bot_lt_of_maximal Ideal.bot_lt_of_maximalₓ'. -/
 theorem bot_lt_of_maximal (M : Ideal R) [hm : M.IsMaximal] (non_field : ¬IsField R) : ⊥ < M :=
   by
   rcases Ring.not_isField_iff_exists_ideal_bot_lt_and_lt_top.1 non_field with ⟨I, Ibot, Itop⟩
@@ -1396,53 +892,23 @@ theorem mem_nonunits_iff [Monoid α] : a ∈ nonunits α ↔ ¬IsUnit a :=
 #align mem_nonunits_iff mem_nonunits_iff
 -/
 
-/- warning: mul_mem_nonunits_right -> mul_mem_nonunits_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {a : α} {b : α} [_inst_1 : CommMonoid.{u1} α], (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) b (nonunits.{u1} α (CommMonoid.toMonoid.{u1} α _inst_1))) -> (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulOneClass.toHasMul.{u1} α (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α _inst_1)))) a b) (nonunits.{u1} α (CommMonoid.toMonoid.{u1} α _inst_1)))
-but is expected to have type
-  forall {α : Type.{u1}} {a : α} {b : α} [_inst_1 : CommMonoid.{u1} α], (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) b (nonunits.{u1} α (CommMonoid.toMonoid.{u1} α _inst_1))) -> (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α _inst_1)))) a b) (nonunits.{u1} α (CommMonoid.toMonoid.{u1} α _inst_1)))
-Case conversion may be inaccurate. Consider using '#align mul_mem_nonunits_right mul_mem_nonunits_rightₓ'. -/
 theorem mul_mem_nonunits_right [CommMonoid α] : b ∈ nonunits α → a * b ∈ nonunits α :=
   mt isUnit_of_mul_isUnit_right
 #align mul_mem_nonunits_right mul_mem_nonunits_right
 
-/- warning: mul_mem_nonunits_left -> mul_mem_nonunits_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {a : α} {b : α} [_inst_1 : CommMonoid.{u1} α], (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a (nonunits.{u1} α (CommMonoid.toMonoid.{u1} α _inst_1))) -> (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulOneClass.toHasMul.{u1} α (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α _inst_1)))) a b) (nonunits.{u1} α (CommMonoid.toMonoid.{u1} α _inst_1)))
-but is expected to have type
-  forall {α : Type.{u1}} {a : α} {b : α} [_inst_1 : CommMonoid.{u1} α], (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) a (nonunits.{u1} α (CommMonoid.toMonoid.{u1} α _inst_1))) -> (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulOneClass.toMul.{u1} α (Monoid.toMulOneClass.{u1} α (CommMonoid.toMonoid.{u1} α _inst_1)))) a b) (nonunits.{u1} α (CommMonoid.toMonoid.{u1} α _inst_1)))
-Case conversion may be inaccurate. Consider using '#align mul_mem_nonunits_left mul_mem_nonunits_leftₓ'. -/
 theorem mul_mem_nonunits_left [CommMonoid α] : a ∈ nonunits α → a * b ∈ nonunits α :=
   mt isUnit_of_mul_isUnit_left
 #align mul_mem_nonunits_left mul_mem_nonunits_left
 
-/- warning: zero_mem_nonunits -> zero_mem_nonunits is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α], Iff (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))) (nonunits.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)))) (Ne.{succ u1} α (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α], Iff (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)))) (nonunits.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)))) (Ne.{succ u1} α (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)))) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))))
-Case conversion may be inaccurate. Consider using '#align zero_mem_nonunits zero_mem_nonunitsₓ'. -/
 theorem zero_mem_nonunits [Semiring α] : 0 ∈ nonunits α ↔ (0 : α) ≠ 1 :=
   not_congr isUnit_zero_iff
 #align zero_mem_nonunits zero_mem_nonunits
 
-/- warning: one_not_mem_nonunits -> one_not_mem_nonunits is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Monoid.{u1} α], Not (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (MulOneClass.toHasOne.{u1} α (Monoid.toMulOneClass.{u1} α _inst_1))))) (nonunits.{u1} α _inst_1))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Monoid.{u1} α], Not (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Monoid.toOne.{u1} α _inst_1))) (nonunits.{u1} α _inst_1))
-Case conversion may be inaccurate. Consider using '#align one_not_mem_nonunits one_not_mem_nonunitsₓ'. -/
 @[simp]
 theorem one_not_mem_nonunits [Monoid α] : (1 : α) ∉ nonunits α :=
   not_not_intro isUnit_one
 #align one_not_mem_nonunits one_not_mem_nonunits
 
-/- warning: coe_subset_nonunits -> coe_subset_nonunits is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) -> (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) I) (nonunits.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1))))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) -> (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) (SetLike.coe.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) I) (nonunits.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1))))
-Case conversion may be inaccurate. Consider using '#align coe_subset_nonunits coe_subset_nonunitsₓ'. -/
 theorem coe_subset_nonunits [Semiring α] {I : Ideal α} (h : I ≠ ⊤) : (I : Set α) ⊆ nonunits α :=
   fun x hx hu => h <| I.eq_top_of_isUnit_mem hx hu
 #align coe_subset_nonunits coe_subset_nonunits
Diff
@@ -478,10 +478,8 @@ theorem IsPrime.mem_or_mem_of_mul_eq_zero {I : Ideal α} (hI : I.IsPrime) {x y :
 theorem IsPrime.mem_of_pow_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ) (H : r ^ n ∈ I) :
     r ∈ I := by
   induction' n with n ih
-  · rw [pow_zero] at H
-    exact (mt (eq_top_iff_one _).2 hI.1).elim H
-  · rw [pow_succ] at H
-    exact Or.cases_on (hI.mem_or_mem H) id ih
+  · rw [pow_zero] at H; exact (mt (eq_top_iff_one _).2 hI.1).elim H
+  · rw [pow_succ] at H; exact Or.cases_on (hI.mem_or_mem H) id ih
 #align ideal.is_prime.mem_of_pow_mem Ideal.IsPrime.mem_of_pow_mem
 -/
 
@@ -673,14 +671,8 @@ theorem span_pair_add_mul_left {R : Type u} [CommRing R] {x y : R} (z : R) :
   ext
   rw [mem_span_pair, mem_span_pair]
   exact
-    ⟨fun ⟨a, b, h⟩ =>
-      ⟨a, b + a * z, by
-        rw [← h]
-        ring1⟩,
-      fun ⟨a, b, h⟩ =>
-      ⟨a, b - a * z, by
-        rw [← h]
-        ring1⟩⟩
+    ⟨fun ⟨a, b, h⟩ => ⟨a, b + a * z, by rw [← h]; ring1⟩, fun ⟨a, b, h⟩ =>
+      ⟨a, b - a * z, by rw [← h]; ring1⟩⟩
 #align ideal.span_pair_add_mul_left Ideal.span_pair_add_mul_left
 
 /- warning: ideal.span_pair_add_mul_right -> Ideal.span_pair_add_mul_right is a dubious translation:
@@ -1020,9 +1012,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align ideal.is_prime.mul_mem_iff_mem_or_mem Ideal.IsPrime.mul_mem_iff_mem_or_memₓ'. -/
 theorem IsPrime.mul_mem_iff_mem_or_mem {I : Ideal α} (hI : I.IsPrime) :
     ∀ {x y : α}, x * y ∈ I ↔ x ∈ I ∨ y ∈ I := fun x y =>
-  ⟨hI.mem_or_mem, by
-    rintro (h | h)
-    exacts[I.mul_mem_right y h, I.mul_mem_left x h]⟩
+  ⟨hI.mem_or_mem, by rintro (h | h); exacts[I.mul_mem_right y h, I.mul_mem_left x h]⟩
 #align ideal.is_prime.mul_mem_iff_mem_or_mem Ideal.IsPrime.mul_mem_iff_mem_or_mem
 
 #print Ideal.IsPrime.pow_mem_iff_mem /-
@@ -1076,8 +1066,7 @@ theorem sum_pow_mem_span_pow {ι} (s : Finset ι) (f : ι → α) (n : ℕ) :
     (∑ i in s, f i) ^ (s.card * n + 1) ∈ span ((fun i => f i ^ (n + 1)) '' s) :=
   by
   convert pow_multiset_sum_mem_span_pow (s.1.map f) n
-  · rw [Multiset.card_map]
-    rfl
+  · rw [Multiset.card_map]; rfl
   rw [Multiset.map_map, Multiset.toFinset_map, Finset.val_toFinset, Finset.coe_image]
 #align ideal.sum_pow_mem_span_pow Ideal.sum_pow_mem_span_pow
 
@@ -1182,8 +1171,7 @@ Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_n
 @[simp]
 theorem span_singleton_neg (x : α) : (span {-x} : Ideal α) = span {x} :=
   by
-  ext
-  simp only [mem_span_singleton']
+  ext; simp only [mem_span_singleton']
   exact ⟨fun ⟨y, h⟩ => ⟨-y, h ▸ neg_mul_comm y x⟩, fun ⟨y, h⟩ => ⟨-y, h ▸ neg_mul_neg y x⟩⟩
 #align ideal.span_singleton_neg Ideal.span_singleton_neg
 
@@ -1259,10 +1247,7 @@ Case conversion may be inaccurate. Consider using '#align ideal.mul_sub_mul_mem
 theorem mul_sub_mul_mem {R : Type _} [CommRing R] (I : Ideal R) {a b c d : R} (h1 : a - b ∈ I)
     (h2 : c - d ∈ I) : a * c - b * d ∈ I :=
   by
-  rw [show a * c - b * d = (a - b) * c + b * (c - d)
-      by
-      rw [sub_mul, mul_sub]
-      abel]
+  rw [show a * c - b * d = (a - b) * c + b * (c - d) by rw [sub_mul, mul_sub]; abel]
   exact I.add_mem (I.mul_mem_right _ h1) (I.mul_mem_left _ h2)
 #align ideal.mul_sub_mul_mem Ideal.mul_sub_mul_mem
 
@@ -1466,15 +1451,10 @@ theorem coe_subset_nonunits [Semiring α] {I : Ideal α} (h : I ≠ ⊤) : (I :
 theorem exists_max_ideal_of_mem_nonunits [CommSemiring α] (h : a ∈ nonunits α) :
     ∃ I : Ideal α, I.IsMaximal ∧ a ∈ I :=
   by
-  have : Ideal.span ({a} : Set α) ≠ ⊤ := by
-    intro H
-    rw [Ideal.span_singleton_eq_top] at H
+  have : Ideal.span ({a} : Set α) ≠ ⊤ := by intro H; rw [Ideal.span_singleton_eq_top] at H;
     contradiction
   rcases Ideal.exists_le_maximal _ this with ⟨I, Imax, H⟩
-  use I, Imax
-  apply H
-  apply Ideal.subset_span
-  exact Set.mem_singleton a
+  use I, Imax; apply H; apply Ideal.subset_span; exact Set.mem_singleton a
 #align exists_max_ideal_of_mem_nonunits exists_max_ideal_of_mem_nonunits
 -/
 
Diff
@@ -242,7 +242,7 @@ theorem subset_span {s : Set α} : s ⊆ span s :=
 
 /- warning: ideal.span_le -> Ideal.span_le is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {I : Ideal.{u1} α _inst_1}, Iff (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) (Ideal.span.{u1} α _inst_1 s) I) (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) s ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) I))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {I : Ideal.{u1} α _inst_1}, Iff (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) (Ideal.span.{u1} α _inst_1 s) I) (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) s ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) I))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {I : Ideal.{u1} α _inst_1}, Iff (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 s) I) (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) s (SetLike.coe.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) I))
 Case conversion may be inaccurate. Consider using '#align ideal.span_le Ideal.span_leₓ'. -/
@@ -252,7 +252,7 @@ theorem span_le {s : Set α} {I} : span s ≤ I ↔ s ⊆ I :=
 
 /- warning: ideal.span_mono -> Ideal.span_mono is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {t : Set.{u1} α}, (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) s t) -> (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) (Ideal.span.{u1} α _inst_1 s) (Ideal.span.{u1} α _inst_1 t))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {t : Set.{u1} α}, (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) s t) -> (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) (Ideal.span.{u1} α _inst_1 s) (Ideal.span.{u1} α _inst_1 t))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {t : Set.{u1} α}, (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) s t) -> (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 s) (Ideal.span.{u1} α _inst_1 t))
 Case conversion may be inaccurate. Consider using '#align ideal.span_mono Ideal.span_monoₓ'. -/
@@ -301,7 +301,7 @@ theorem mem_span_singleton' {x y : α} : x ∈ span ({y} : Set α) ↔ ∃ a, a
 
 /- warning: ideal.span_singleton_le_iff_mem -> Ideal.span_singleton_le_iff_mem is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α}, Iff (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α}, Iff (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α}, Iff (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_le_iff_mem Ideal.span_singleton_le_iff_memₓ'. -/
@@ -553,7 +553,7 @@ theorem IsMaximal.ne_top {I : Ideal α} (h : I.IsMaximal) : I ≠ ⊤ :=
 
 /- warning: ideal.is_maximal_iff -> Ideal.isMaximal_iff is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsMaximal.{u1} α _inst_1 I) (And (Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))) I)) (forall (J : Ideal.{u1} α _inst_1) (x : α), (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) I J) -> (Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x J) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))) J)))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsMaximal.{u1} α _inst_1 I) (And (Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))) I)) (forall (J : Ideal.{u1} α _inst_1) (x : α), (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) I J) -> (Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x J) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))) J)))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsMaximal.{u1} α _inst_1 I) (And (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))) I)) (forall (J : Ideal.{u1} α _inst_1) (x : α), (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) I J) -> (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x J) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))) J)))
 Case conversion may be inaccurate. Consider using '#align ideal.is_maximal_iff Ideal.isMaximal_iffₓ'. -/
@@ -572,7 +572,7 @@ theorem isMaximal_iff {I : Ideal α} :
 
 /- warning: ideal.is_maximal.eq_of_le -> Ideal.IsMaximal.eq_of_le is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1} {J : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 I) -> (Ne.{succ u1} (Ideal.{u1} α _inst_1) J (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) -> (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) I J) -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) I J)
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1} {J : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 I) -> (Ne.{succ u1} (Ideal.{u1} α _inst_1) J (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) -> (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) I J) -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) I J)
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1} {J : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 I) -> (Ne.{succ u1} (Ideal.{u1} α _inst_1) J (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) -> (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) I J) -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) I J)
 Case conversion may be inaccurate. Consider using '#align ideal.is_maximal.eq_of_le Ideal.IsMaximal.eq_of_leₓ'. -/
@@ -600,7 +600,7 @@ theorem IsMaximal.coprime_of_ne {M M' : Ideal α} (hM : M.IsMaximal) (hM' : M'.I
 
 /- warning: ideal.exists_le_maximal -> Ideal.exists_le_maximal is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) -> (Exists.{succ u1} (Ideal.{u1} α _inst_1) (fun (M : Ideal.{u1} α _inst_1) => And (Ideal.IsMaximal.{u1} α _inst_1 M) (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) I M)))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) -> (Exists.{succ u1} (Ideal.{u1} α _inst_1) (fun (M : Ideal.{u1} α _inst_1) => And (Ideal.IsMaximal.{u1} α _inst_1 M) (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) I M)))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) -> (Exists.{succ u1} (Ideal.{u1} α _inst_1) (fun (M : Ideal.{u1} α _inst_1) => And (Ideal.IsMaximal.{u1} α _inst_1 M) (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) I M)))
 Case conversion may be inaccurate. Consider using '#align ideal.exists_le_maximal Ideal.exists_le_maximalₓ'. -/
@@ -630,7 +630,7 @@ instance [Nontrivial α] : Nontrivial (Ideal α) :=
 
 /- warning: ideal.maximal_of_no_maximal -> Ideal.maximal_of_no_maximal is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {P : Ideal.{u1} R _inst_2}, (forall (m : Ideal.{u1} R _inst_2), (LT.lt.{u1} (Ideal.{u1} R _inst_2) (Preorder.toLT.{u1} (Ideal.{u1} R _inst_2) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_2) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))))) P m) -> (Not (Ideal.IsMaximal.{u1} R _inst_2 m))) -> (forall (J : Ideal.{u1} R _inst_2), (LT.lt.{u1} (Ideal.{u1} R _inst_2) (Preorder.toLT.{u1} (Ideal.{u1} R _inst_2) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_2) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))))) P J) -> (Eq.{succ u1} (Ideal.{u1} R _inst_2) J (Top.top.{u1} (Ideal.{u1} R _inst_2) (Submodule.hasTop.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {P : Ideal.{u1} R _inst_2}, (forall (m : Ideal.{u1} R _inst_2), (LT.lt.{u1} (Ideal.{u1} R _inst_2) (Preorder.toHasLt.{u1} (Ideal.{u1} R _inst_2) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_2) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))))) P m) -> (Not (Ideal.IsMaximal.{u1} R _inst_2 m))) -> (forall (J : Ideal.{u1} R _inst_2), (LT.lt.{u1} (Ideal.{u1} R _inst_2) (Preorder.toHasLt.{u1} (Ideal.{u1} R _inst_2) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_2) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))))) P J) -> (Eq.{succ u1} (Ideal.{u1} R _inst_2) J (Top.top.{u1} (Ideal.{u1} R _inst_2) (Submodule.hasTop.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))
 but is expected to have type
   forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {P : Ideal.{u1} R _inst_2}, (forall (m : Ideal.{u1} R _inst_2), (LT.lt.{u1} (Ideal.{u1} R _inst_2) (Preorder.toLT.{u1} (Ideal.{u1} R _inst_2) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) P m) -> (Not (Ideal.IsMaximal.{u1} R _inst_2 m))) -> (forall (J : Ideal.{u1} R _inst_2), (LT.lt.{u1} (Ideal.{u1} R _inst_2) (Preorder.toLT.{u1} (Ideal.{u1} R _inst_2) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R _inst_2) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) P J) -> (Eq.{succ u1} (Ideal.{u1} R _inst_2) J (Top.top.{u1} (Ideal.{u1} R _inst_2) (Submodule.instTopSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))
 Case conversion may be inaccurate. Consider using '#align ideal.maximal_of_no_maximal Ideal.maximal_of_no_maximalₓ'. -/
@@ -827,7 +827,7 @@ end Pi
 
 /- warning: ideal.Inf_is_prime_of_is_chain -> Ideal.sInf_isPrime_of_isChain is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} (Ideal.{u1} α _inst_1)}, (Set.Nonempty.{u1} (Ideal.{u1} α _inst_1) s) -> (IsChain.{u1} (Ideal.{u1} α _inst_1) (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) s) -> (forall (p : Ideal.{u1} α _inst_1), (Membership.Mem.{u1, u1} (Ideal.{u1} α _inst_1) (Set.{u1} (Ideal.{u1} α _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} α _inst_1)) p s) -> (Ideal.IsPrime.{u1} α _inst_1 p)) -> (Ideal.IsPrime.{u1} α _inst_1 (InfSet.sInf.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasInf.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) s))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} (Ideal.{u1} α _inst_1)}, (Set.Nonempty.{u1} (Ideal.{u1} α _inst_1) s) -> (IsChain.{u1} (Ideal.{u1} α _inst_1) (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toHasLe.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) s) -> (forall (p : Ideal.{u1} α _inst_1), (Membership.Mem.{u1, u1} (Ideal.{u1} α _inst_1) (Set.{u1} (Ideal.{u1} α _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} α _inst_1)) p s) -> (Ideal.IsPrime.{u1} α _inst_1 p)) -> (Ideal.IsPrime.{u1} α _inst_1 (InfSet.sInf.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasInf.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) s))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} (Ideal.{u1} α _inst_1)}, (Set.Nonempty.{u1} (Ideal.{u1} α _inst_1) s) -> (IsChain.{u1} (Ideal.{u1} α _inst_1) (fun (x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4480 : Ideal.{u1} α _inst_1) (x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4482 : Ideal.{u1} α _inst_1) => LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4480 x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4482) s) -> (forall (p : Ideal.{u1} α _inst_1), (Membership.mem.{u1, u1} (Ideal.{u1} α _inst_1) (Set.{u1} (Ideal.{u1} α _inst_1)) (Set.instMembershipSet.{u1} (Ideal.{u1} α _inst_1)) p s) -> (Ideal.IsPrime.{u1} α _inst_1 p)) -> (Ideal.IsPrime.{u1} α _inst_1 (InfSet.sInf.{u1} (Ideal.{u1} α _inst_1) (Submodule.instInfSetSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) s))
 Case conversion may be inaccurate. Consider using '#align ideal.Inf_is_prime_of_is_chain Ideal.sInf_isPrime_of_isChainₓ'. -/
@@ -887,7 +887,7 @@ theorem mem_span_singleton_self (x : α) : x ∈ span ({x} : Set α) :=
 
 /- warning: ideal.span_singleton_le_span_singleton -> Ideal.span_singleton_le_span_singleton is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {x : α} {y : α}, Iff (LE.le.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) y))) (Dvd.Dvd.{u1} α (semigroupDvd.{u1} α (SemigroupWithZero.toSemigroup.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} α (CommSemiring.toNonUnitalCommSemiring.{u1} α _inst_1))))) y x)
+  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {x : α} {y : α}, Iff (LE.le.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Preorder.toHasLe.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) y))) (Dvd.Dvd.{u1} α (semigroupDvd.{u1} α (SemigroupWithZero.toSemigroup.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} α (CommSemiring.toNonUnitalCommSemiring.{u1} α _inst_1))))) y x)
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {x : α} {y : α}, Iff (LE.le.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Preorder.toLE.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (Submodule.completeLattice.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) y))) (Dvd.dvd.{u1} α (semigroupDvd.{u1} α (SemigroupWithZero.toSemigroup.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} α (CommSemiring.toNonUnitalCommSemiring.{u1} α _inst_1))))) y x)
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_le_span_singleton Ideal.span_singleton_le_span_singletonₓ'. -/
@@ -966,7 +966,7 @@ instance (priority := 100) IsMaximal.isPrime' (I : Ideal α) : ∀ [H : I.IsMaxi
 
 /- warning: ideal.span_singleton_lt_span_singleton -> Ideal.span_singleton_lt_span_singleton is a dubious translation:
 lean 3 declaration is
-  forall {β : Type.{u1}} [_inst_2 : CommRing.{u1} β] [_inst_3 : IsDomain.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))] {x : β} {y : β}, Iff (LT.lt.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (Preorder.toLT.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) β (Submodule.setLike.{u1, u1} β β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β (Semiring.toNonAssocSemiring.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))) (Semiring.toModule.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))))) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.hasSingleton.{u1} β) x)) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.hasSingleton.{u1} β) y))) (DvdNotUnit.{u1} β (CommSemiring.toCommMonoidWithZero.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) y x)
+  forall {β : Type.{u1}} [_inst_2 : CommRing.{u1} β] [_inst_3 : IsDomain.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))] {x : β} {y : β}, Iff (LT.lt.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (Preorder.toHasLt.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) β (Submodule.setLike.{u1, u1} β β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β (Semiring.toNonAssocSemiring.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))) (Semiring.toModule.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))))) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.hasSingleton.{u1} β) x)) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.hasSingleton.{u1} β) y))) (DvdNotUnit.{u1} β (CommSemiring.toCommMonoidWithZero.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) y x)
 but is expected to have type
   forall {β : Type.{u1}} [_inst_2 : CommRing.{u1} β] [_inst_3 : IsDomain.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))] {x : β} {y : β}, Iff (LT.lt.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (Preorder.toLT.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (Submodule.completeLattice.{u1, u1} β β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β (Semiring.toNonAssocSemiring.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))))) (Semiring.toModule.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)))))))) (Ideal.span.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) x)) (Ideal.span.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) y))) (DvdNotUnit.{u1} β (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} β (IsDomain.toCancelCommMonoidWithZero.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2) _inst_3)) y x)
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_lt_span_singleton Ideal.span_singleton_lt_span_singletonₓ'. -/
@@ -978,7 +978,7 @@ theorem span_singleton_lt_span_singleton [CommRing β] [IsDomain β] {x y : β}
 
 /- warning: ideal.factors_decreasing -> Ideal.factors_decreasing is a dubious translation:
 lean 3 declaration is
-  forall {β : Type.{u1}} [_inst_2 : CommRing.{u1} β] [_inst_3 : IsDomain.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))] (b₁ : β) (b₂ : β), (Ne.{succ u1} β b₁ (OfNat.ofNat.{u1} β 0 (OfNat.mk.{u1} β 0 (Zero.zero.{u1} β (MulZeroClass.toHasZero.{u1} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} β (NonAssocRing.toNonUnitalNonAssocRing.{u1} β (Ring.toNonAssocRing.{u1} β (CommRing.toRing.{u1} β _inst_2)))))))))) -> (Not (IsUnit.{u1} β (Ring.toMonoid.{u1} β (CommRing.toRing.{u1} β _inst_2)) b₂)) -> (LT.lt.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (Preorder.toLT.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) β (Submodule.setLike.{u1, u1} β β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β (Semiring.toNonAssocSemiring.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))) (Semiring.toModule.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))))) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.hasSingleton.{u1} β) (HMul.hMul.{u1, u1, u1} β β β (instHMul.{u1} β (Distrib.toHasMul.{u1} β (Ring.toDistrib.{u1} β (CommRing.toRing.{u1} β _inst_2)))) b₁ b₂))) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.hasSingleton.{u1} β) b₁)))
+  forall {β : Type.{u1}} [_inst_2 : CommRing.{u1} β] [_inst_3 : IsDomain.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))] (b₁ : β) (b₂ : β), (Ne.{succ u1} β b₁ (OfNat.ofNat.{u1} β 0 (OfNat.mk.{u1} β 0 (Zero.zero.{u1} β (MulZeroClass.toHasZero.{u1} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} β (NonAssocRing.toNonUnitalNonAssocRing.{u1} β (Ring.toNonAssocRing.{u1} β (CommRing.toRing.{u1} β _inst_2)))))))))) -> (Not (IsUnit.{u1} β (Ring.toMonoid.{u1} β (CommRing.toRing.{u1} β _inst_2)) b₂)) -> (LT.lt.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (Preorder.toHasLt.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) β (Submodule.setLike.{u1, u1} β β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β (Semiring.toNonAssocSemiring.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))) (Semiring.toModule.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))))) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.hasSingleton.{u1} β) (HMul.hMul.{u1, u1, u1} β β β (instHMul.{u1} β (Distrib.toHasMul.{u1} β (Ring.toDistrib.{u1} β (CommRing.toRing.{u1} β _inst_2)))) b₁ b₂))) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.hasSingleton.{u1} β) b₁)))
 but is expected to have type
   forall {β : Type.{u1}} [_inst_2 : CommRing.{u1} β] [_inst_3 : IsDomain.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))] (b₁ : β) (b₂ : β), (Ne.{succ u1} β b₁ (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β (CommMonoidWithZero.toZero.{u1} β (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} β (IsDomain.toCancelCommMonoidWithZero.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2) _inst_3)))))) -> (Not (IsUnit.{u1} β (MonoidWithZero.toMonoid.{u1} β (Semiring.toMonoidWithZero.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)))) b₂)) -> (LT.lt.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (Preorder.toLT.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (Submodule.completeLattice.{u1, u1} β β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β (Semiring.toNonAssocSemiring.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))))) (Semiring.toModule.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)))))))) (Ideal.span.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) (HMul.hMul.{u1, u1, u1} β β β (instHMul.{u1} β (NonUnitalNonAssocRing.toMul.{u1} β (NonAssocRing.toNonUnitalNonAssocRing.{u1} β (Ring.toNonAssocRing.{u1} β (CommRing.toRing.{u1} β _inst_2))))) b₁ b₂))) (Ideal.span.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) b₁)))
 Case conversion may be inaccurate. Consider using '#align ideal.factors_decreasing Ideal.factors_decreasingₓ'. -/
@@ -1295,7 +1295,7 @@ theorem exists_not_isUnit_of_not_isField [Nontrivial R] (hf : ¬IsField R) :
 
 /- warning: ring.not_is_field_iff_exists_ideal_bot_lt_and_lt_top -> Ring.not_isField_iff_exists_ideal_bot_lt_and_lt_top is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R], Iff (Not (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Exists.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (LT.lt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLT.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{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) (LT.lt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLT.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (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 (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}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R], Iff (Not (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Exists.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (LT.lt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{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) (LT.lt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toHasLt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (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 (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] [_inst_2 : Nontrivial.{u1} R], Iff (Not (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Exists.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (fun (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) => And (LT.lt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLT.{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))))))) (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) (LT.lt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Preorder.toLT.{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 (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 ring.not_is_field_iff_exists_ideal_bot_lt_and_lt_top Ring.not_isField_iff_exists_ideal_bot_lt_and_lt_topₓ'. -/
@@ -1333,7 +1333,7 @@ theorem not_isField_iff_exists_prime [Nontrivial R] :
 
 /- warning: ring.is_field_iff_is_simple_order_ideal -> Ring.isField_iff_isSimpleOrder_ideal is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R], Iff (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IsSimpleOrder.{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)) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (CompleteLattice.toBoundedOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (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}} [_inst_1 : CommSemiring.{u1} R], Iff (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IsSimpleOrder.{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)) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) R (Submodule.setLike.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (CompleteLattice.toBoundedOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (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], Iff (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (IsSimpleOrder.{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))))))) (CompleteLattice.toBoundedOrder.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Submodule.completeLattice.{u1, u1} R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (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 ring.is_field_iff_is_simple_order_ideal Ring.isField_iff_isSimpleOrder_idealₓ'. -/
@@ -1378,7 +1378,7 @@ variable {R : Type u} [CommRing R] [Nontrivial R]
 
 /- warning: ideal.bot_lt_of_maximal -> Ideal.bot_lt_of_maximal is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Nontrivial.{u1} R] (M : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) [hm : Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M], (Not (IsField.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) -> (LT.lt.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLT.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasBot.{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))))) M)
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Nontrivial.{u1} R] (M : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) [hm : Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M], (Not (IsField.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) -> (LT.lt.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toHasLt.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasBot.{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))))) M)
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Nontrivial.{u1} R] (M : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) [hm : Ideal.IsMaximal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) M], (Not (IsField.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) -> (LT.lt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLT.{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)))))))) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instBotSubmodule.{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))))) M)
 Case conversion may be inaccurate. Consider using '#align ideal.bot_lt_of_maximal Ideal.bot_lt_of_maximalₓ'. -/
Diff
@@ -218,19 +218,19 @@ theorem span_union (s t : Set α) : span (s ∪ t) = span s ⊔ span t :=
   Submodule.span_union _ _
 #align ideal.span_union Ideal.span_union
 
-/- warning: ideal.span_Union -> Ideal.span_unionᵢ is a dubious translation:
+/- warning: ideal.span_Union -> Ideal.span_iUnion is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {ι : Sort.{u2}} (s : ι -> (Set.{u1} α)), Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Set.unionᵢ.{u1, u2} α ι (fun (i : ι) => s i))) (supᵢ.{u1, u2} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) ι (fun (i : ι) => Ideal.span.{u1} α _inst_1 (s i)))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {ι : Sort.{u2}} (s : ι -> (Set.{u1} α)), Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Set.iUnion.{u1, u2} α ι (fun (i : ι) => s i))) (iSup.{u1, u2} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) ι (fun (i : ι) => Ideal.span.{u1} α _inst_1 (s i)))
 but is expected to have type
-  forall {α : Type.{u2}} [_inst_1 : Semiring.{u2} α] {ι : Sort.{u1}} (s : ι -> (Set.{u2} α)), Eq.{succ u2} (Ideal.{u2} α _inst_1) (Ideal.span.{u2} α _inst_1 (Set.unionᵢ.{u2, u1} α ι (fun (i : ι) => s i))) (supᵢ.{u2, u1} (Ideal.{u2} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u2} (Ideal.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} α _inst_1) (Submodule.completeLattice.{u2, u2} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_1))) (Semiring.toModule.{u2} α _inst_1)))) ι (fun (i : ι) => Ideal.span.{u2} α _inst_1 (s i)))
-Case conversion may be inaccurate. Consider using '#align ideal.span_Union Ideal.span_unionᵢₓ'. -/
-theorem span_unionᵢ {ι} (s : ι → Set α) : span (⋃ i, s i) = ⨆ i, span (s i) :=
-  Submodule.span_unionᵢ _
-#align ideal.span_Union Ideal.span_unionᵢ
+  forall {α : Type.{u2}} [_inst_1 : Semiring.{u2} α] {ι : Sort.{u1}} (s : ι -> (Set.{u2} α)), Eq.{succ u2} (Ideal.{u2} α _inst_1) (Ideal.span.{u2} α _inst_1 (Set.iUnion.{u2, u1} α ι (fun (i : ι) => s i))) (iSup.{u2, u1} (Ideal.{u2} α _inst_1) (ConditionallyCompleteLattice.toSupSet.{u2} (Ideal.{u2} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} α _inst_1) (Submodule.completeLattice.{u2, u2} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_1))) (Semiring.toModule.{u2} α _inst_1)))) ι (fun (i : ι) => Ideal.span.{u2} α _inst_1 (s i)))
+Case conversion may be inaccurate. Consider using '#align ideal.span_Union Ideal.span_iUnionₓ'. -/
+theorem span_iUnion {ι} (s : ι → Set α) : span (⋃ i, s i) = ⨆ i, span (s i) :=
+  Submodule.span_iUnion _
+#align ideal.span_Union Ideal.span_iUnion
 
 #print Ideal.mem_span /-
 theorem mem_span {s : Set α} (x) : x ∈ span s ↔ ∀ p : Ideal α, s ⊆ p → x ∈ p :=
-  mem_interᵢ₂
+  mem_iInter₂
 #align ideal.mem_span Ideal.mem_span
 -/
 
@@ -737,36 +737,36 @@ theorem mem_sup_right {S T : Ideal R} : ∀ {x : R}, x ∈ T → x ∈ S ⊔ T :
   show T ≤ S ⊔ T from le_sup_right
 #align ideal.mem_sup_right Ideal.mem_sup_right
 
-/- warning: ideal.mem_supr_of_mem -> Ideal.mem_supᵢ_of_mem is a dubious translation:
+/- warning: ideal.mem_supr_of_mem -> Ideal.mem_iSup_of_mem is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {ι : Sort.{u2}} {S : ι -> (Ideal.{u1} R _inst_2)} (i : ι) {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (S i)) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (supᵢ.{u1, u2} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))) ι S))
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {ι : Sort.{u2}} {S : ι -> (Ideal.{u1} R _inst_2)} (i : ι) {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (S i)) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (iSup.{u1, u2} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))) ι S))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_2 : Semiring.{u2} R] {ι : Sort.{u1}} {S : ι -> (Ideal.{u2} R _inst_2)} (i : ι) {x : R}, (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.setLike.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (S i)) -> (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.setLike.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (supᵢ.{u2, u1} (Ideal.{u2} R _inst_2) (ConditionallyCompleteLattice.toSupSet.{u2} (Ideal.{u2} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_2) (Submodule.completeLattice.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)))) ι S))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_supr_of_mem Ideal.mem_supᵢ_of_memₓ'. -/
-theorem mem_supᵢ_of_mem {ι : Sort _} {S : ι → Ideal R} (i : ι) : ∀ {x : R}, x ∈ S i → x ∈ supᵢ S :=
-  show S i ≤ supᵢ S from le_supᵢ _ _
-#align ideal.mem_supr_of_mem Ideal.mem_supᵢ_of_mem
+  forall {R : Type.{u2}} [_inst_2 : Semiring.{u2} R] {ι : Sort.{u1}} {S : ι -> (Ideal.{u2} R _inst_2)} (i : ι) {x : R}, (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.setLike.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (S i)) -> (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.setLike.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (iSup.{u2, u1} (Ideal.{u2} R _inst_2) (ConditionallyCompleteLattice.toSupSet.{u2} (Ideal.{u2} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_2) (Submodule.completeLattice.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)))) ι S))
+Case conversion may be inaccurate. Consider using '#align ideal.mem_supr_of_mem Ideal.mem_iSup_of_memₓ'. -/
+theorem mem_iSup_of_mem {ι : Sort _} {S : ι → Ideal R} (i : ι) : ∀ {x : R}, x ∈ S i → x ∈ iSup S :=
+  show S i ≤ iSup S from le_iSup _ _
+#align ideal.mem_supr_of_mem Ideal.mem_iSup_of_mem
 
-/- warning: ideal.mem_Sup_of_mem -> Ideal.mem_supₛ_of_mem is a dubious translation:
+/- warning: ideal.mem_Sup_of_mem -> Ideal.mem_sSup_of_mem is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Set.{u1} (Ideal.{u1} R _inst_2)} {s : Ideal.{u1} R _inst_2}, (Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_2)) s S) -> (forall {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x s) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (SupSet.supₛ.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))) S)))
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Set.{u1} (Ideal.{u1} R _inst_2)} {s : Ideal.{u1} R _inst_2}, (Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_2)) s S) -> (forall {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x s) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (SupSet.sSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))) S)))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Set.{u1} (Ideal.{u1} R _inst_2)} {s : Ideal.{u1} R _inst_2}, (Membership.mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.instMembershipSet.{u1} (Ideal.{u1} R _inst_2)) s S) -> (forall {x : R}, (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x s) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (SupSet.supₛ.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toSupSet.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))) S)))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_Sup_of_mem Ideal.mem_supₛ_of_memₓ'. -/
-theorem mem_supₛ_of_mem {S : Set (Ideal R)} {s : Ideal R} (hs : s ∈ S) :
-    ∀ {x : R}, x ∈ s → x ∈ supₛ S :=
-  show s ≤ supₛ S from le_supₛ hs
-#align ideal.mem_Sup_of_mem Ideal.mem_supₛ_of_mem
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Set.{u1} (Ideal.{u1} R _inst_2)} {s : Ideal.{u1} R _inst_2}, (Membership.mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.instMembershipSet.{u1} (Ideal.{u1} R _inst_2)) s S) -> (forall {x : R}, (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x s) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (SupSet.sSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toSupSet.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))) S)))
+Case conversion may be inaccurate. Consider using '#align ideal.mem_Sup_of_mem Ideal.mem_sSup_of_memₓ'. -/
+theorem mem_sSup_of_mem {S : Set (Ideal R)} {s : Ideal R} (hs : s ∈ S) :
+    ∀ {x : R}, x ∈ s → x ∈ sSup S :=
+  show s ≤ sSup S from le_sSup hs
+#align ideal.mem_Sup_of_mem Ideal.mem_sSup_of_mem
 
-/- warning: ideal.mem_Inf -> Ideal.mem_infₛ is a dubious translation:
+/- warning: ideal.mem_Inf -> Ideal.mem_sInf is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {s : Set.{u1} (Ideal.{u1} R _inst_2)} {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (InfSet.infₛ.{u1} (Ideal.{u1} R _inst_2) (Submodule.hasInf.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) s)) (forall {{I : Ideal.{u1} R _inst_2}}, (Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_2)) I s) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I))
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {s : Set.{u1} (Ideal.{u1} R _inst_2)} {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (InfSet.sInf.{u1} (Ideal.{u1} R _inst_2) (Submodule.hasInf.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) s)) (forall {{I : Ideal.{u1} R _inst_2}}, (Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_2)) I s) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {s : Set.{u1} (Ideal.{u1} R _inst_2)} {x : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (InfSet.infₛ.{u1} (Ideal.{u1} R _inst_2) (Submodule.instInfSetSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) s)) (forall {{I : Ideal.{u1} R _inst_2}}, (Membership.mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.instMembershipSet.{u1} (Ideal.{u1} R _inst_2)) I s) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_Inf Ideal.mem_infₛₓ'. -/
-theorem mem_infₛ {s : Set (Ideal R)} {x : R} : x ∈ infₛ s ↔ ∀ ⦃I⦄, I ∈ s → x ∈ I :=
-  ⟨fun hx I his => hx I ⟨I, infᵢ_pos his⟩, fun H I ⟨J, hij⟩ => hij ▸ fun S ⟨hj, hS⟩ => hS ▸ H hj⟩
-#align ideal.mem_Inf Ideal.mem_infₛ
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {s : Set.{u1} (Ideal.{u1} R _inst_2)} {x : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (InfSet.sInf.{u1} (Ideal.{u1} R _inst_2) (Submodule.instInfSetSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) s)) (forall {{I : Ideal.{u1} R _inst_2}}, (Membership.mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.instMembershipSet.{u1} (Ideal.{u1} R _inst_2)) I s) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I))
+Case conversion may be inaccurate. Consider using '#align ideal.mem_Inf Ideal.mem_sInfₓ'. -/
+theorem mem_sInf {s : Set (Ideal R)} {x : R} : x ∈ sInf s ↔ ∀ ⦃I⦄, I ∈ s → x ∈ I :=
+  ⟨fun hx I his => hx I ⟨I, iInf_pos his⟩, fun H I ⟨J, hij⟩ => hij ▸ fun S ⟨hj, hS⟩ => hS ▸ H hj⟩
+#align ideal.mem_Inf Ideal.mem_sInf
 
 /- warning: ideal.mem_inf -> Ideal.mem_inf is a dubious translation:
 lean 3 declaration is
@@ -779,16 +779,16 @@ theorem mem_inf {I J : Ideal R} {x : R} : x ∈ I ⊓ J ↔ x ∈ I ∧ x ∈ J
   Iff.rfl
 #align ideal.mem_inf Ideal.mem_inf
 
-/- warning: ideal.mem_infi -> Ideal.mem_infᵢ is a dubious translation:
+/- warning: ideal.mem_infi -> Ideal.mem_iInf is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {ι : Sort.{u2}} {I : ι -> (Ideal.{u1} R _inst_2)} {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (infᵢ.{u1, u2} (Ideal.{u1} R _inst_2) (Submodule.hasInf.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) ι I)) (forall (i : ι), Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (I i))
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {ι : Sort.{u2}} {I : ι -> (Ideal.{u1} R _inst_2)} {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (iInf.{u1, u2} (Ideal.{u1} R _inst_2) (Submodule.hasInf.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) ι I)) (forall (i : ι), Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (I i))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_2 : Semiring.{u2} R] {ι : Sort.{u1}} {I : ι -> (Ideal.{u2} R _inst_2)} {x : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.setLike.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (infᵢ.{u2, u1} (Ideal.{u2} R _inst_2) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) ι I)) (forall (i : ι), Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.setLike.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (I i))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_infi Ideal.mem_infᵢₓ'. -/
+  forall {R : Type.{u2}} [_inst_2 : Semiring.{u2} R] {ι : Sort.{u1}} {I : ι -> (Ideal.{u2} R _inst_2)} {x : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.setLike.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (iInf.{u2, u1} (Ideal.{u2} R _inst_2) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) ι I)) (forall (i : ι), Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.setLike.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (I i))
+Case conversion may be inaccurate. Consider using '#align ideal.mem_infi Ideal.mem_iInfₓ'. -/
 @[simp]
-theorem mem_infᵢ {ι : Sort _} {I : ι → Ideal R} {x : R} : x ∈ infᵢ I ↔ ∀ i, x ∈ I i :=
-  Submodule.mem_infᵢ _
-#align ideal.mem_infi Ideal.mem_infᵢ
+theorem mem_iInf {ι : Sort _} {I : ι → Ideal R} {x : R} : x ∈ iInf I ↔ ∀ i, x ∈ I i :=
+  Submodule.mem_iInf _
+#align ideal.mem_infi Ideal.mem_iInf
 
 /- warning: ideal.mem_bot -> Ideal.mem_bot is a dubious translation:
 lean 3 declaration is
@@ -825,28 +825,28 @@ theorem mem_pi (x : ι → α) : x ∈ I.pi ι ↔ ∀ i, x i ∈ I :=
 
 end Pi
 
-/- warning: ideal.Inf_is_prime_of_is_chain -> Ideal.infₛ_isPrime_of_isChain is a dubious translation:
+/- warning: ideal.Inf_is_prime_of_is_chain -> Ideal.sInf_isPrime_of_isChain is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} (Ideal.{u1} α _inst_1)}, (Set.Nonempty.{u1} (Ideal.{u1} α _inst_1) s) -> (IsChain.{u1} (Ideal.{u1} α _inst_1) (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) s) -> (forall (p : Ideal.{u1} α _inst_1), (Membership.Mem.{u1, u1} (Ideal.{u1} α _inst_1) (Set.{u1} (Ideal.{u1} α _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} α _inst_1)) p s) -> (Ideal.IsPrime.{u1} α _inst_1 p)) -> (Ideal.IsPrime.{u1} α _inst_1 (InfSet.infₛ.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasInf.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) s))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} (Ideal.{u1} α _inst_1)}, (Set.Nonempty.{u1} (Ideal.{u1} α _inst_1) s) -> (IsChain.{u1} (Ideal.{u1} α _inst_1) (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) s) -> (forall (p : Ideal.{u1} α _inst_1), (Membership.Mem.{u1, u1} (Ideal.{u1} α _inst_1) (Set.{u1} (Ideal.{u1} α _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} α _inst_1)) p s) -> (Ideal.IsPrime.{u1} α _inst_1 p)) -> (Ideal.IsPrime.{u1} α _inst_1 (InfSet.sInf.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasInf.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) s))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} (Ideal.{u1} α _inst_1)}, (Set.Nonempty.{u1} (Ideal.{u1} α _inst_1) s) -> (IsChain.{u1} (Ideal.{u1} α _inst_1) (fun (x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4480 : Ideal.{u1} α _inst_1) (x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4482 : Ideal.{u1} α _inst_1) => LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4480 x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4482) s) -> (forall (p : Ideal.{u1} α _inst_1), (Membership.mem.{u1, u1} (Ideal.{u1} α _inst_1) (Set.{u1} (Ideal.{u1} α _inst_1)) (Set.instMembershipSet.{u1} (Ideal.{u1} α _inst_1)) p s) -> (Ideal.IsPrime.{u1} α _inst_1 p)) -> (Ideal.IsPrime.{u1} α _inst_1 (InfSet.infₛ.{u1} (Ideal.{u1} α _inst_1) (Submodule.instInfSetSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) s))
-Case conversion may be inaccurate. Consider using '#align ideal.Inf_is_prime_of_is_chain Ideal.infₛ_isPrime_of_isChainₓ'. -/
-theorem infₛ_isPrime_of_isChain {s : Set (Ideal α)} (hs : s.Nonempty) (hs' : IsChain (· ≤ ·) s)
-    (H : ∀ p ∈ s, Ideal.IsPrime p) : (infₛ s).IsPrime :=
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} (Ideal.{u1} α _inst_1)}, (Set.Nonempty.{u1} (Ideal.{u1} α _inst_1) s) -> (IsChain.{u1} (Ideal.{u1} α _inst_1) (fun (x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4480 : Ideal.{u1} α _inst_1) (x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4482 : Ideal.{u1} α _inst_1) => LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4480 x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4482) s) -> (forall (p : Ideal.{u1} α _inst_1), (Membership.mem.{u1, u1} (Ideal.{u1} α _inst_1) (Set.{u1} (Ideal.{u1} α _inst_1)) (Set.instMembershipSet.{u1} (Ideal.{u1} α _inst_1)) p s) -> (Ideal.IsPrime.{u1} α _inst_1 p)) -> (Ideal.IsPrime.{u1} α _inst_1 (InfSet.sInf.{u1} (Ideal.{u1} α _inst_1) (Submodule.instInfSetSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) s))
+Case conversion may be inaccurate. Consider using '#align ideal.Inf_is_prime_of_is_chain Ideal.sInf_isPrime_of_isChainₓ'. -/
+theorem sInf_isPrime_of_isChain {s : Set (Ideal α)} (hs : s.Nonempty) (hs' : IsChain (· ≤ ·) s)
+    (H : ∀ p ∈ s, Ideal.IsPrime p) : (sInf s).IsPrime :=
   ⟨fun e =>
     let ⟨x, hx⟩ := hs
-    (H x hx).ne_top (eq_top_iff.mpr (e.symm.trans_le (infₛ_le hx))),
+    (H x hx).ne_top (eq_top_iff.mpr (e.symm.trans_le (sInf_le hx))),
     fun x y e =>
     or_iff_not_imp_left.mpr fun hx =>
       by
-      rw [Ideal.mem_infₛ] at hx e⊢
+      rw [Ideal.mem_sInf] at hx e⊢
       push_neg  at hx
       obtain ⟨I, hI, hI'⟩ := hx
       intro J hJ
       cases hs'.total hI hJ
       · exact h (((H I hI).mem_or_mem (e hI)).resolve_left hI')
       · exact ((H J hJ).mem_or_mem (e hJ)).resolve_left fun x => hI' <| h x⟩
-#align ideal.Inf_is_prime_of_is_chain Ideal.infₛ_isPrime_of_isChain
+#align ideal.Inf_is_prime_of_is_chain Ideal.sInf_isPrime_of_isChain
 
 end Ideal
 
Diff
@@ -664,7 +664,7 @@ theorem mem_span_pair {x y z : α} : z ∈ span ({x, y} : Set α) ↔ ∃ a b, a
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {x : R} {y : R} (z : R), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_2)))) x (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_2)))) y z)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y))) (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) x (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {x : R} {y : R} (z : R), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) x (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_2))))) y z)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y))) (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) x (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)))
+  forall {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {x : R} {y : R} (z : R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) x (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_2))))) y z)) (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) x (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)))
 Case conversion may be inaccurate. Consider using '#align ideal.span_pair_add_mul_left Ideal.span_pair_add_mul_leftₓ'. -/
 @[simp]
 theorem span_pair_add_mul_left {R : Type u} [CommRing R] {x y : R} (z : R) :
@@ -687,7 +687,7 @@ theorem span_pair_add_mul_left {R : Type u} [CommRing R] {x y : R} (z : R) :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {x : R} {y : R} (z : R), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) x (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toHasAdd.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_2)))) y (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_2)))) x z))))) (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.hasInsert.{u1} R) x (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.hasSingleton.{u1} R) y)))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {x : R} {y : R} (z : R), Eq.{succ u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2))) (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) x (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) y (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_2))))) x z))))) (Ideal.span.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) x (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)))
+  forall {R : Type.{u1}} [_inst_2 : CommRing.{u1} R] {x : R} {y : R} (z : R), Eq.{succ u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) x (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) (HAdd.hAdd.{u1, u1, u1} R R R (instHAdd.{u1} R (Distrib.toAdd.{u1} R (NonUnitalNonAssocSemiring.toDistrib.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_2))))))) y (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_2))))) x z))))) (Ideal.span.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_2)) (Insert.insert.{u1, u1} R (Set.{u1} R) (Set.instInsertSet.{u1} R) x (Singleton.singleton.{u1, u1} R (Set.{u1} R) (Set.instSingletonSet.{u1} R) y)))
 Case conversion may be inaccurate. Consider using '#align ideal.span_pair_add_mul_right Ideal.span_pair_add_mul_rightₓ'. -/
 @[simp]
 theorem span_pair_add_mul_right {R : Type u} [CommRing R] {x y : R} (z : R) :
@@ -900,7 +900,7 @@ theorem span_singleton_le_span_singleton {x y : α} :
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_2 : CommRing.{u1} α] [_inst_3 : IsDomain.{u1} α (Ring.toSemiring.{u1} α (CommRing.toRing.{u1} α _inst_2))] {x : α} {y : α}, Iff (Eq.{succ u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α (CommRing.toRing.{u1} α _inst_2))) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α (CommRing.toRing.{u1} α _inst_2)) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α (CommRing.toRing.{u1} α _inst_2)) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) y))) (Associated.{u1} α (Ring.toMonoid.{u1} α (CommRing.toRing.{u1} α _inst_2)) x y)
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_2 : CommRing.{u1} α] [_inst_3 : IsDomain.{u1} α (Ring.toSemiring.{u1} α (CommRing.toRing.{u1} α _inst_2))] {x : α} {y : α}, Iff (Eq.{succ u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α (CommRing.toRing.{u1} α _inst_2))) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α (CommRing.toRing.{u1} α _inst_2)) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α (CommRing.toRing.{u1} α _inst_2)) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) y))) (Associated.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (Ring.toSemiring.{u1} α (CommRing.toRing.{u1} α _inst_2)))) x y)
+  forall {α : Type.{u1}} [_inst_2 : CommRing.{u1} α] [_inst_3 : IsDomain.{u1} α (CommSemiring.toSemiring.{u1} α (CommRing.toCommSemiring.{u1} α _inst_2))] {x : α} {y : α}, Iff (Eq.{succ u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α (CommRing.toCommSemiring.{u1} α _inst_2))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α (CommRing.toCommSemiring.{u1} α _inst_2)) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α (CommRing.toCommSemiring.{u1} α _inst_2)) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) y))) (Associated.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α (CommRing.toCommSemiring.{u1} α _inst_2)))) x y)
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_eq_span_singleton Ideal.span_singleton_eq_span_singletonₓ'. -/
 theorem span_singleton_eq_span_singleton {α : Type u} [CommRing α] [IsDomain α] {x y : α} :
     span ({x} : Set α) = span ({y} : Set α) ↔ Associated x y :=
@@ -968,7 +968,7 @@ instance (priority := 100) IsMaximal.isPrime' (I : Ideal α) : ∀ [H : I.IsMaxi
 lean 3 declaration is
   forall {β : Type.{u1}} [_inst_2 : CommRing.{u1} β] [_inst_3 : IsDomain.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))] {x : β} {y : β}, Iff (LT.lt.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (Preorder.toLT.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) β (Submodule.setLike.{u1, u1} β β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β (Semiring.toNonAssocSemiring.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))) (Semiring.toModule.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))))) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.hasSingleton.{u1} β) x)) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.hasSingleton.{u1} β) y))) (DvdNotUnit.{u1} β (CommSemiring.toCommMonoidWithZero.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) y x)
 but is expected to have type
-  forall {β : Type.{u1}} [_inst_2 : CommRing.{u1} β] [_inst_3 : IsDomain.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))] {x : β} {y : β}, Iff (LT.lt.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (Preorder.toLT.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (Submodule.completeLattice.{u1, u1} β β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β (Semiring.toNonAssocSemiring.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))) (Semiring.toModule.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)))))))) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) x)) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) y))) (DvdNotUnit.{u1} β (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} β (IsDomain.toCancelCommMonoidWithZero.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2) _inst_3)) y x)
+  forall {β : Type.{u1}} [_inst_2 : CommRing.{u1} β] [_inst_3 : IsDomain.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))] {x : β} {y : β}, Iff (LT.lt.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (Preorder.toLT.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (Submodule.completeLattice.{u1, u1} β β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β (Semiring.toNonAssocSemiring.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))))) (Semiring.toModule.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)))))))) (Ideal.span.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) x)) (Ideal.span.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) y))) (DvdNotUnit.{u1} β (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} β (IsDomain.toCancelCommMonoidWithZero.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2) _inst_3)) y x)
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_lt_span_singleton Ideal.span_singleton_lt_span_singletonₓ'. -/
 theorem span_singleton_lt_span_singleton [CommRing β] [IsDomain β] {x y : β} :
     span ({x} : Set β) < span ({y} : Set β) ↔ DvdNotUnit y x := by
@@ -980,7 +980,7 @@ theorem span_singleton_lt_span_singleton [CommRing β] [IsDomain β] {x y : β}
 lean 3 declaration is
   forall {β : Type.{u1}} [_inst_2 : CommRing.{u1} β] [_inst_3 : IsDomain.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))] (b₁ : β) (b₂ : β), (Ne.{succ u1} β b₁ (OfNat.ofNat.{u1} β 0 (OfNat.mk.{u1} β 0 (Zero.zero.{u1} β (MulZeroClass.toHasZero.{u1} β (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} β (NonAssocRing.toNonUnitalNonAssocRing.{u1} β (Ring.toNonAssocRing.{u1} β (CommRing.toRing.{u1} β _inst_2)))))))))) -> (Not (IsUnit.{u1} β (Ring.toMonoid.{u1} β (CommRing.toRing.{u1} β _inst_2)) b₂)) -> (LT.lt.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (Preorder.toLT.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) β (Submodule.setLike.{u1, u1} β β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β (Semiring.toNonAssocSemiring.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))) (Semiring.toModule.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))))) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.hasSingleton.{u1} β) (HMul.hMul.{u1, u1, u1} β β β (instHMul.{u1} β (Distrib.toHasMul.{u1} β (Ring.toDistrib.{u1} β (CommRing.toRing.{u1} β _inst_2)))) b₁ b₂))) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.hasSingleton.{u1} β) b₁)))
 but is expected to have type
-  forall {β : Type.{u1}} [_inst_2 : CommRing.{u1} β] [_inst_3 : IsDomain.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))] (b₁ : β) (b₂ : β), (Ne.{succ u1} β b₁ (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β (CommMonoidWithZero.toZero.{u1} β (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} β (IsDomain.toCancelCommMonoidWithZero.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2) _inst_3)))))) -> (Not (IsUnit.{u1} β (MonoidWithZero.toMonoid.{u1} β (Semiring.toMonoidWithZero.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)))) b₂)) -> (LT.lt.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (Preorder.toLT.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))) (Submodule.completeLattice.{u1, u1} β β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β (Semiring.toNonAssocSemiring.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2))))) (Semiring.toModule.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)))))))) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) (HMul.hMul.{u1, u1, u1} β β β (instHMul.{u1} β (NonUnitalNonAssocRing.toMul.{u1} β (NonAssocRing.toNonUnitalNonAssocRing.{u1} β (Ring.toNonAssocRing.{u1} β (CommRing.toRing.{u1} β _inst_2))))) b₁ b₂))) (Ideal.span.{u1} β (Ring.toSemiring.{u1} β (CommRing.toRing.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) b₁)))
+  forall {β : Type.{u1}} [_inst_2 : CommRing.{u1} β] [_inst_3 : IsDomain.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))] (b₁ : β) (b₂ : β), (Ne.{succ u1} β b₁ (OfNat.ofNat.{u1} β 0 (Zero.toOfNat0.{u1} β (CommMonoidWithZero.toZero.{u1} β (CancelCommMonoidWithZero.toCommMonoidWithZero.{u1} β (IsDomain.toCancelCommMonoidWithZero.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2) _inst_3)))))) -> (Not (IsUnit.{u1} β (MonoidWithZero.toMonoid.{u1} β (Semiring.toMonoidWithZero.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)))) b₂)) -> (LT.lt.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (Preorder.toLT.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))) (Submodule.completeLattice.{u1, u1} β β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} β (Semiring.toNonAssocSemiring.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2))))) (Semiring.toModule.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)))))))) (Ideal.span.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) (HMul.hMul.{u1, u1, u1} β β β (instHMul.{u1} β (NonUnitalNonAssocRing.toMul.{u1} β (NonAssocRing.toNonUnitalNonAssocRing.{u1} β (Ring.toNonAssocRing.{u1} β (CommRing.toRing.{u1} β _inst_2))))) b₁ b₂))) (Ideal.span.{u1} β (CommSemiring.toSemiring.{u1} β (CommRing.toCommSemiring.{u1} β _inst_2)) (Singleton.singleton.{u1, u1} β (Set.{u1} β) (Set.instSingletonSet.{u1} β) b₁)))
 Case conversion may be inaccurate. Consider using '#align ideal.factors_decreasing Ideal.factors_decreasingₓ'. -/
 theorem factors_decreasing [CommRing β] [IsDomain β] (b₁ b₂ : β) (h₁ : b₁ ≠ 0) (h₂ : ¬IsUnit b₂) :
     span ({b₁ * b₂} : Set β) < span {b₁} :=
@@ -1254,7 +1254,7 @@ namespace Ideal
 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))) {a : R} {b : R} {c : R} {d : R}, (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) a b) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) c d) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (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)))) a c) (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)))) b d)) 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))) {a : R} {b : R} {c : R} {d : R}, (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) a b) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) c d) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{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))))) a c) (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))))) b d)) I)
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) {a : R} {b : R} {c : R} {d : R}, (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) a b) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) c d) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{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))))) a c) (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))))) b d)) I)
 Case conversion may be inaccurate. Consider using '#align ideal.mul_sub_mul_mem Ideal.mul_sub_mul_memₓ'. -/
 theorem mul_sub_mul_mem {R : Type _} [CommRing R] (I : Ideal R) {a b c d : R} (h1 : a - b ∈ I)
     (h2 : c - d ∈ I) : a * c - b * d ∈ I :=
@@ -1380,7 +1380,7 @@ variable {R : Type u} [CommRing R] [Nontrivial R]
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Nontrivial.{u1} R] (M : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) [hm : Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M], (Not (IsField.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) -> (LT.lt.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLT.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (PartialOrder.toPreorder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) R (Submodule.setLike.{u1, u1} R R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))) (Semiring.toModule.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.hasBot.{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))))) M)
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Nontrivial.{u1} R] (M : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) [hm : Ideal.IsMaximal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) M], (Not (IsField.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) -> (LT.lt.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Preorder.toLT.{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))) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (CompleteLattice.instOmegaCompletePartialOrder.{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)))))))) (Bot.bot.{u1} (Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) (Submodule.instBotSubmodule.{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))))) M)
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] [_inst_2 : Nontrivial.{u1} R] (M : Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) [hm : Ideal.IsMaximal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)) M], (Not (IsField.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1)))) -> (LT.lt.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Preorder.toLT.{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)))))))) (Bot.bot.{u1} (Ideal.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_1))) (Submodule.instBotSubmodule.{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))))) M)
 Case conversion may be inaccurate. Consider using '#align ideal.bot_lt_of_maximal Ideal.bot_lt_of_maximalₓ'. -/
 theorem bot_lt_of_maximal (M : Ideal R) [hm : M.IsMaximal] (non_field : ¬IsField R) : ⊥ < M :=
   by
Diff
@@ -829,7 +829,7 @@ end Pi
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} (Ideal.{u1} α _inst_1)}, (Set.Nonempty.{u1} (Ideal.{u1} α _inst_1) s) -> (IsChain.{u1} (Ideal.{u1} α _inst_1) (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) s) -> (forall (p : Ideal.{u1} α _inst_1), (Membership.Mem.{u1, u1} (Ideal.{u1} α _inst_1) (Set.{u1} (Ideal.{u1} α _inst_1)) (Set.hasMem.{u1} (Ideal.{u1} α _inst_1)) p s) -> (Ideal.IsPrime.{u1} α _inst_1 p)) -> (Ideal.IsPrime.{u1} α _inst_1 (InfSet.infₛ.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasInf.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) s))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} (Ideal.{u1} α _inst_1)}, (Set.Nonempty.{u1} (Ideal.{u1} α _inst_1) s) -> (IsChain.{u1} (Ideal.{u1} α _inst_1) (fun (x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4484 : Ideal.{u1} α _inst_1) (x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4486 : Ideal.{u1} α _inst_1) => LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4484 x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4486) s) -> (forall (p : Ideal.{u1} α _inst_1), (Membership.mem.{u1, u1} (Ideal.{u1} α _inst_1) (Set.{u1} (Ideal.{u1} α _inst_1)) (Set.instMembershipSet.{u1} (Ideal.{u1} α _inst_1)) p s) -> (Ideal.IsPrime.{u1} α _inst_1 p)) -> (Ideal.IsPrime.{u1} α _inst_1 (InfSet.infₛ.{u1} (Ideal.{u1} α _inst_1) (Submodule.instInfSetSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) s))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} (Ideal.{u1} α _inst_1)}, (Set.Nonempty.{u1} (Ideal.{u1} α _inst_1) s) -> (IsChain.{u1} (Ideal.{u1} α _inst_1) (fun (x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4480 : Ideal.{u1} α _inst_1) (x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4482 : Ideal.{u1} α _inst_1) => LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4480 x._@.Mathlib.RingTheory.Ideal.Basic._hyg.4482) s) -> (forall (p : Ideal.{u1} α _inst_1), (Membership.mem.{u1, u1} (Ideal.{u1} α _inst_1) (Set.{u1} (Ideal.{u1} α _inst_1)) (Set.instMembershipSet.{u1} (Ideal.{u1} α _inst_1)) p s) -> (Ideal.IsPrime.{u1} α _inst_1 p)) -> (Ideal.IsPrime.{u1} α _inst_1 (InfSet.infₛ.{u1} (Ideal.{u1} α _inst_1) (Submodule.instInfSetSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) s))
 Case conversion may be inaccurate. Consider using '#align ideal.Inf_is_prime_of_is_chain Ideal.infₛ_isPrime_of_isChainₓ'. -/
 theorem infₛ_isPrime_of_isChain {s : Set (Ideal α)} (hs : s.Nonempty) (hs' : IsChain (· ≤ ·) s)
     (H : ∀ p ∈ s, Ideal.IsPrime p) : (infₛ s).IsPrime :=
Diff
@@ -1125,7 +1125,7 @@ variable [Ring α] (I : Ideal α) {a b : α}
 
 /- warning: ideal.neg_mem_iff -> Ideal.neg_mem_iff is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α}, Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Neg.neg.{u1} α (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1))))) a) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I)
+  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α}, Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Neg.neg.{u1} α (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1))))) a) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I)
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Neg.neg.{u1} α (Ring.toNeg.{u1} α _inst_1) a) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I)
 Case conversion may be inaccurate. Consider using '#align ideal.neg_mem_iff Ideal.neg_mem_iffₓ'. -/
@@ -1155,7 +1155,7 @@ protected theorem add_mem_iff_right : a ∈ I → (a + b ∈ I ↔ b ∈ I) :=
 
 /- warning: ideal.sub_mem -> Ideal.sub_mem is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α (SubNegMonoid.toHasSub.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))))) a b) I)
+  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α (SubNegMonoid.toHasSub.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1)))))) a b) I)
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α (Ring.toSub.{u1} α _inst_1)) a b) I)
 Case conversion may be inaccurate. Consider using '#align ideal.sub_mem Ideal.sub_memₓ'. -/
@@ -1175,7 +1175,7 @@ theorem mem_span_insert' {s : Set α} {x y} : x ∈ span (insert y s) ↔ ∃ a,
 
 /- warning: ideal.span_singleton_neg -> Ideal.span_singleton_neg is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (x : α), Eq.{succ u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) (Neg.neg.{u1} α (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1))))) x))) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x))
+  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (x : α), Eq.{succ u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) (Neg.neg.{u1} α (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (AddCommGroupWithOne.toAddGroupWithOne.{u1} α (Ring.toAddCommGroupWithOne.{u1} α _inst_1))))) x))) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x))
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (x : α), Eq.{succ u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) (Neg.neg.{u1} α (Ring.toNeg.{u1} α _inst_1) x))) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x))
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_neg Ideal.span_singleton_negₓ'. -/
@@ -1252,7 +1252,7 @@ namespace Ideal
 
 /- warning: ideal.mul_sub_mul_mem -> Ideal.mul_sub_mul_mem 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))) {a : R} {b : R} {c : R} {d : R}, (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))))) (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 (CommRing.toRing.{u1} R _inst_1))))))) a b) I) -> (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))))) (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 (CommRing.toRing.{u1} R _inst_1))))))) c d) I) -> (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))))) (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 (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)))) a c) (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)))) b d)) I)
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) {a : R} {b : R} {c : R} {d : R}, (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) a b) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) c d) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (SubNegMonoid.toHasSub.{u1} R (AddGroup.toSubNegMonoid.{u1} R (AddGroupWithOne.toAddGroup.{u1} R (AddCommGroupWithOne.toAddGroupWithOne.{u1} R (Ring.toAddCommGroupWithOne.{u1} R (CommRing.toRing.{u1} R _inst_1))))))) (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)))) a c) (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)))) b d)) 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))) {a : R} {b : R} {c : R} {d : R}, (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) a b) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) c d) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{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))))) a c) (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))))) b d)) I)
 Case conversion may be inaccurate. Consider using '#align ideal.mul_sub_mul_mem Ideal.mul_sub_mul_memₓ'. -/
Diff
@@ -63,7 +63,7 @@ variable [Semiring α] (I : Ideal α) {a b : α}
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))) I
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)))) I
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)))) I
 Case conversion may be inaccurate. Consider using '#align ideal.zero_mem Ideal.zero_memₓ'. -/
 protected theorem zero_mem : (0 : α) ∈ I :=
   I.zero_mem
@@ -73,7 +73,7 @@ protected theorem zero_mem : (0 : α) ∈ I :=
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {a : α} {b : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) a I) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) b I) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) a b) I)
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {a : α} {b : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) a I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) b I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) a b) I)
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {a : α} {b : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) a I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) b I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) a b) I)
 Case conversion may be inaccurate. Consider using '#align ideal.add_mem Ideal.add_memₓ'. -/
 protected theorem add_mem : a ∈ I → b ∈ I → a + b ∈ I :=
   I.add_mem
@@ -85,7 +85,7 @@ variable (a)
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) (a : α) {b : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) b I) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) a b) I)
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) (a : α) {b : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) b I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) a b) I)
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) (a : α) {b : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) b I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) a b) I)
 Case conversion may be inaccurate. Consider using '#align ideal.mul_mem_left Ideal.mul_mem_leftₓ'. -/
 theorem mul_mem_left : b ∈ I → a * b ∈ I :=
   I.smul_mem a
@@ -93,22 +93,18 @@ theorem mul_mem_left : b ∈ I → a * b ∈ I :=
 
 variable {a}
 
-/- warning: ideal.ext -> Ideal.ext is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1} {J : Ideal.{u1} α _inst_1}, (forall (x : α), Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x J)) -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) I J)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1} {J : Ideal.{u1} α _inst_1}, (forall (x : α), Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x J)) -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) I J)
-Case conversion may be inaccurate. Consider using '#align ideal.ext Ideal.extₓ'. -/
+#print Ideal.ext /-
 @[ext]
 theorem ext {I J : Ideal α} (h : ∀ x, x ∈ I ↔ x ∈ J) : I = J :=
   Submodule.ext h
 #align ideal.ext Ideal.ext
+-/
 
 /- warning: ideal.sum_mem -> Ideal.sum_mem is a dubious translation:
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {ι : Type.{u2}} {t : Finset.{u2} ι} {f : ι -> α}, (forall (c : ι), (Membership.Mem.{u2, u2} ι (Finset.{u2} ι) (Finset.hasMem.{u2} ι) c t) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (f c) I)) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (Finset.sum.{u1, u2} α ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) t (fun (i : ι) => f i)) I)
 but is expected to have type
-  forall {α : Type.{u2}} [_inst_1 : Semiring.{u2} α] (I : Ideal.{u2} α _inst_1) {ι : Type.{u1}} {t : Finset.{u1} ι} {f : ι -> α}, (forall (c : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) c t) -> (Membership.mem.{u2, u2} α (Ideal.{u2} α _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} α _inst_1) α (Submodule.instSetLikeSubmodule.{u2, u2} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_1))) (Semiring.toModule.{u2} α _inst_1))) (f c) I)) -> (Membership.mem.{u2, u2} α (Ideal.{u2} α _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} α _inst_1) α (Submodule.instSetLikeSubmodule.{u2, u2} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_1))) (Semiring.toModule.{u2} α _inst_1))) (Finset.sum.{u2, u1} α ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_1))) t (fun (i : ι) => f i)) I)
+  forall {α : Type.{u2}} [_inst_1 : Semiring.{u2} α] (I : Ideal.{u2} α _inst_1) {ι : Type.{u1}} {t : Finset.{u1} ι} {f : ι -> α}, (forall (c : ι), (Membership.mem.{u1, u1} ι (Finset.{u1} ι) (Finset.instMembershipFinset.{u1} ι) c t) -> (Membership.mem.{u2, u2} α (Ideal.{u2} α _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} α _inst_1) α (Submodule.setLike.{u2, u2} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_1))) (Semiring.toModule.{u2} α _inst_1))) (f c) I)) -> (Membership.mem.{u2, u2} α (Ideal.{u2} α _inst_1) (SetLike.instMembership.{u2, u2} (Ideal.{u2} α _inst_1) α (Submodule.setLike.{u2, u2} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_1))) (Semiring.toModule.{u2} α _inst_1))) (Finset.sum.{u2, u1} α ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_1))) t (fun (i : ι) => f i)) I)
 Case conversion may be inaccurate. Consider using '#align ideal.sum_mem Ideal.sum_memₓ'. -/
 theorem sum_mem (I : Ideal α) {ι : Type _} {t : Finset ι} {f : ι → α} :
     (∀ c ∈ t, f c ∈ I) → (∑ i in t, f i) ∈ I :=
@@ -119,7 +115,7 @@ theorem sum_mem (I : Ideal α) {ι : Type _} {t : Finset ι} {f : ι → α} :
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) (x : α) (y : α), (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) -> (Eq.{succ u1} α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) y x) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))))))) -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) (x : α) (y : α), (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) -> (Eq.{succ u1} α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) y x) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1)))) -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) (x : α) (y : α), (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) -> (Eq.{succ u1} α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) y x) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1)))) -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
 Case conversion may be inaccurate. Consider using '#align ideal.eq_top_of_unit_mem Ideal.eq_top_of_unit_memₓ'. -/
 theorem eq_top_of_unit_mem (x y : α) (hx : x ∈ I) (h : y * x = 1) : I = ⊤ :=
   eq_top_iff.2 fun z _ =>
@@ -134,7 +130,7 @@ theorem eq_top_of_unit_mem (x y : α) (hx : x ∈ I) (h : y * x = 1) : I = ⊤ :
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) -> (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)) x) -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) -> (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)) x) -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) -> (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)) x) -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
 Case conversion may be inaccurate. Consider using '#align ideal.eq_top_of_is_unit_mem Ideal.eq_top_of_isUnit_memₓ'. -/
 theorem eq_top_of_isUnit_mem {x} (hx : x ∈ I) (h : IsUnit x) : I = ⊤ :=
   let ⟨y, hy⟩ := h.exists_left_inv
@@ -145,7 +141,7 @@ theorem eq_top_of_isUnit_mem {x} (hx : x ∈ I) (h : IsUnit x) : I = ⊤ :=
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), Iff (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))) I)
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), Iff (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))) I)
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), Iff (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))) I)
 Case conversion may be inaccurate. Consider using '#align ideal.eq_top_iff_one Ideal.eq_top_iff_oneₓ'. -/
 theorem eq_top_iff_one : I = ⊤ ↔ (1 : α) ∈ I :=
   ⟨by rintro rfl <;> trivial, fun h => eq_top_of_unit_mem _ _ 1 h (by simp)⟩
@@ -155,7 +151,7 @@ theorem eq_top_iff_one : I = ⊤ ↔ (1 : α) ∈ I :=
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), Iff (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))) I))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), Iff (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))) I))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), Iff (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))) I))
 Case conversion may be inaccurate. Consider using '#align ideal.ne_top_iff_one Ideal.ne_top_iff_oneₓ'. -/
 theorem ne_top_iff_one : I ≠ ⊤ ↔ (1 : α) ∉ I :=
   not_congr I.eq_top_iff_one
@@ -165,7 +161,7 @@ theorem ne_top_iff_one : I ≠ ⊤ ↔ (1 : α) ∉ I :=
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α} {y : α}, (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)) y) -> (Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) y x) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α} {y : α}, (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)) y) -> (Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) y x) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α} {y : α}, (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)) y) -> (Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) y x) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I))
 Case conversion may be inaccurate. Consider using '#align ideal.unit_mul_mem_iff_mem Ideal.unit_mul_mem_iff_memₓ'. -/
 @[simp]
 theorem unit_mul_mem_iff_mem {x y : α} (hy : IsUnit y) : y * x ∈ I ↔ x ∈ I :=
@@ -232,31 +228,23 @@ theorem span_unionᵢ {ι} (s : ι → Set α) : span (⋃ i, s i) = ⨆ i, span
   Submodule.span_unionᵢ _
 #align ideal.span_Union Ideal.span_unionᵢ
 
-/- warning: ideal.mem_span -> Ideal.mem_span is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} (x : α), Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x (Ideal.span.{u1} α _inst_1 s)) (forall (p : Ideal.{u1} α _inst_1), (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) s ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) p)) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x p))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} (x : α), Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x (Ideal.span.{u1} α _inst_1 s)) (forall (p : Ideal.{u1} α _inst_1), (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) s (SetLike.coe.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) p)) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x p))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_span Ideal.mem_spanₓ'. -/
+#print Ideal.mem_span /-
 theorem mem_span {s : Set α} (x) : x ∈ span s ↔ ∀ p : Ideal α, s ⊆ p → x ∈ p :=
   mem_interᵢ₂
 #align ideal.mem_span Ideal.mem_span
+-/
 
-/- warning: ideal.subset_span -> Ideal.subset_span is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α}, HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) s ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) (Ideal.span.{u1} α _inst_1 s))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α}, HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) s (SetLike.coe.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) (Ideal.span.{u1} α _inst_1 s))
-Case conversion may be inaccurate. Consider using '#align ideal.subset_span Ideal.subset_spanₓ'. -/
+#print Ideal.subset_span /-
 theorem subset_span {s : Set α} : s ⊆ span s :=
   Submodule.subset_span
 #align ideal.subset_span Ideal.subset_span
+-/
 
 /- warning: ideal.span_le -> Ideal.span_le is a dubious translation:
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {I : Ideal.{u1} α _inst_1}, Iff (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) (Ideal.span.{u1} α _inst_1 s) I) (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) s ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) I))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {I : Ideal.{u1} α _inst_1}, Iff (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 s) I) (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) s (SetLike.coe.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) I))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {I : Ideal.{u1} α _inst_1}, Iff (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 s) I) (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) s (SetLike.coe.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) I))
 Case conversion may be inaccurate. Consider using '#align ideal.span_le Ideal.span_leₓ'. -/
 theorem span_le {s : Set α} {I} : span s ≤ I ↔ s ⊆ I :=
   Submodule.span_le
@@ -272,16 +260,12 @@ theorem span_mono {s t : Set α} : s ⊆ t → span s ≤ span t :=
   Submodule.span_mono
 #align ideal.span_mono Ideal.span_mono
 
-/- warning: ideal.span_eq -> Ideal.span_eq is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) I)) I
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1), Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (SetLike.coe.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) I)) I
-Case conversion may be inaccurate. Consider using '#align ideal.span_eq Ideal.span_eqₓ'. -/
+#print Ideal.span_eq /-
 @[simp]
 theorem span_eq : span (I : Set α) = I :=
   Submodule.span_eq _
 #align ideal.span_eq Ideal.span_eq
+-/
 
 /- warning: ideal.span_singleton_one -> Ideal.span_singleton_one is a dubious translation:
 lean 3 declaration is
@@ -298,7 +282,7 @@ theorem span_singleton_one : span ({1} : Set α) = ⊤ :=
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {x : α} {y : α}, Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x (Ideal.span.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) y s))) (Exists.{succ u1} α (fun (a : α) => Exists.{succ u1} α (fun (z : α) => Exists.{0} (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) z (Ideal.span.{u1} α _inst_1 s)) (fun (H : Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) z (Ideal.span.{u1} α _inst_1 s)) => Eq.{succ u1} α x (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) a y) z)))))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {x : α} {y : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x (Ideal.span.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) y s))) (Exists.{succ u1} α (fun (a : α) => Exists.{succ u1} α (fun (z : α) => And (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) z (Ideal.span.{u1} α _inst_1 s)) (Eq.{succ u1} α x (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) a y) z)))))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {s : Set.{u1} α} {x : α} {y : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x (Ideal.span.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) y s))) (Exists.{succ u1} α (fun (a : α) => Exists.{succ u1} α (fun (z : α) => And (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) z (Ideal.span.{u1} α _inst_1 s)) (Eq.{succ u1} α x (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) a y) z)))))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_span_insert Ideal.mem_span_insertₓ'. -/
 theorem mem_span_insert {s : Set α} {x y} :
     x ∈ span (insert y s) ↔ ∃ a, ∃ z ∈ span s, x = a * y + z :=
@@ -309,7 +293,7 @@ theorem mem_span_insert {s : Set α} {x y} :
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {x : α} {y : α}, Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) y))) (Exists.{succ u1} α (fun (a : α) => Eq.{succ u1} α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) a y) x))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {x : α} {y : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) y))) (Exists.{succ u1} α (fun (a : α) => Eq.{succ u1} α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) a y) x))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {x : α} {y : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) y))) (Exists.{succ u1} α (fun (a : α) => Eq.{succ u1} α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) a y) x))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_span_singleton' Ideal.mem_span_singleton'ₓ'. -/
 theorem mem_span_singleton' {x y : α} : x ∈ span ({y} : Set α) ↔ ∃ a, a * y = x :=
   Submodule.mem_span_singleton
@@ -319,7 +303,7 @@ theorem mem_span_singleton' {x y : α} : x ∈ span ({y} : Set α) ↔ ∃ a, a
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α}, Iff (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α}, Iff (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) {x : α}, Iff (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)
 Case conversion may be inaccurate. Consider using '#align ideal.span_singleton_le_iff_mem Ideal.span_singleton_le_iff_memₓ'. -/
 theorem span_singleton_le_iff_mem {x : α} : span {x} ≤ I ↔ x ∈ I :=
   Submodule.span_singleton_le_iff_mem _ _
@@ -419,7 +403,7 @@ theorem span_eq_top_iff_finite (s : Set α) :
 lean 3 declaration is
   forall {S : Type.{u1}} [_inst_2 : CommSemiring.{u1} S] {x : S} {y : S} {I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)}, Iff (Membership.Mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) x (Sup.sup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Submodule.completeLattice.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2))))))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.hasSingleton.{u1} S) y)) I)) (Exists.{succ u1} S (fun (a : S) => Exists.{succ u1} S (fun (b : S) => Exists.{0} (Membership.Mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) b I) (fun (H : Membership.Mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) b I) => Eq.{succ u1} S (HAdd.hAdd.{u1, u1, u1} S S S (instHAdd.{u1} S (Distrib.toHasAdd.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))))) (HMul.hMul.{u1, u1, u1} S S S (instHMul.{u1} S (Distrib.toHasMul.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))))) a y) b) x))))
 but is expected to have type
-  forall {S : Type.{u1}} [_inst_2 : CommSemiring.{u1} S] {x : S} {y : S} {I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) x (Sup.sup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Submodule.completeLattice.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2))))))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) y)) I)) (Exists.{succ u1} S (fun (a : S) => Exists.{succ u1} S (fun (b : S) => And (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) b I) (Eq.{succ u1} S (HAdd.hAdd.{u1, u1, u1} S S S (instHAdd.{u1} S (Distrib.toAdd.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))))) (HMul.hMul.{u1, u1, u1} S S S (instHMul.{u1} S (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2))))) a y) b) x))))
+  forall {S : Type.{u1}} [_inst_2 : CommSemiring.{u1} S] {x : S} {y : S} {I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) x (Sup.sup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Submodule.completeLattice.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2))))))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) y)) I)) (Exists.{succ u1} S (fun (a : S) => Exists.{succ u1} S (fun (b : S) => And (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) b I) (Eq.{succ u1} S (HAdd.hAdd.{u1, u1, u1} S S S (instHAdd.{u1} S (Distrib.toAdd.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))))) (HMul.hMul.{u1, u1, u1} S S S (instHMul.{u1} S (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2))))) a y) b) x))))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_span_singleton_sup Ideal.mem_span_singleton_supₓ'. -/
 theorem mem_span_singleton_sup {S : Type _} [CommSemiring S] {x y : S} {I : Ideal S} :
     x ∈ Ideal.span {y} ⊔ I ↔ ∃ a : S, ∃ b ∈ I, a * y + b = x :=
@@ -453,7 +437,7 @@ class IsPrime (I : Ideal α) : Prop where
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsPrime.{u1} α _inst_1 I) (And (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (forall {x : α} {y : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) x y) I) -> (Or (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I))))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsPrime.{u1} α _inst_1 I) (And (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (forall {x : α} {y : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) x y) I) -> (Or (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I))))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsPrime.{u1} α _inst_1 I) (And (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (forall {x : α} {y : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) x y) I) -> (Or (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I))))
 Case conversion may be inaccurate. Consider using '#align ideal.is_prime_iff Ideal.isPrime_iffₓ'. -/
 theorem isPrime_iff {I : Ideal α} : IsPrime I ↔ I ≠ ⊤ ∧ ∀ {x y : α}, x * y ∈ I → x ∈ I ∨ y ∈ I :=
   ⟨fun h => ⟨h.1, fun _ _ => h.2⟩, fun h => ⟨h.1, fun _ _ => h.2⟩⟩
@@ -473,7 +457,7 @@ theorem IsPrime.ne_top {I : Ideal α} (hI : I.IsPrime) : I ≠ ⊤ :=
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsPrime.{u1} α _inst_1 I) -> (forall {x : α} {y : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) x y) I) -> (Or (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsPrime.{u1} α _inst_1 I) -> (forall {x : α} {y : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) x y) I) -> (Or (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsPrime.{u1} α _inst_1 I) -> (forall {x : α} {y : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) x y) I) -> (Or (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)))
 Case conversion may be inaccurate. Consider using '#align ideal.is_prime.mem_or_mem Ideal.IsPrime.mem_or_memₓ'. -/
 theorem IsPrime.mem_or_mem {I : Ideal α} (hI : I.IsPrime) {x y : α} : x * y ∈ I → x ∈ I ∨ y ∈ I :=
   hI.2
@@ -483,19 +467,14 @@ theorem IsPrime.mem_or_mem {I : Ideal α} (hI : I.IsPrime) {x y : α} : x * y 
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsPrime.{u1} α _inst_1 I) -> (forall {x : α} {y : α}, (Eq.{succ u1} α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) x y) (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α (MulZeroClass.toHasZero.{u1} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))))))) -> (Or (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsPrime.{u1} α _inst_1 I) -> (forall {x : α} {y : α}, (Eq.{succ u1} α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) x y) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1))))) -> (Or (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsPrime.{u1} α _inst_1 I) -> (forall {x : α} {y : α}, (Eq.{succ u1} α (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) x y) (OfNat.ofNat.{u1} α 0 (Zero.toOfNat0.{u1} α (MonoidWithZero.toZero.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1))))) -> (Or (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I) (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)))
 Case conversion may be inaccurate. Consider using '#align ideal.is_prime.mem_or_mem_of_mul_eq_zero Ideal.IsPrime.mem_or_mem_of_mul_eq_zeroₓ'. -/
 theorem IsPrime.mem_or_mem_of_mul_eq_zero {I : Ideal α} (hI : I.IsPrime) {x y : α} (h : x * y = 0) :
     x ∈ I ∨ y ∈ I :=
   hI.mem_or_mem (h.symm ▸ I.zero_mem)
 #align ideal.is_prime.mem_or_mem_of_mul_eq_zero Ideal.IsPrime.mem_or_mem_of_mul_eq_zero
 
-/- warning: ideal.is_prime.mem_of_pow_mem -> Ideal.IsPrime.mem_of_pow_mem is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsPrime.{u1} α _inst_1 I) -> (forall {r : α} (n : Nat), (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)))) r n) I) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) r I))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsPrime.{u1} α _inst_1 I) -> (forall {r : α} (n : Nat), (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1)))) r n) I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) r I))
-Case conversion may be inaccurate. Consider using '#align ideal.is_prime.mem_of_pow_mem Ideal.IsPrime.mem_of_pow_memₓ'. -/
+#print Ideal.IsPrime.mem_of_pow_mem /-
 theorem IsPrime.mem_of_pow_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ) (H : r ^ n ∈ I) :
     r ∈ I := by
   induction' n with n ih
@@ -504,12 +483,13 @@ theorem IsPrime.mem_of_pow_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ
   · rw [pow_succ] at H
     exact Or.cases_on (hI.mem_or_mem H) id ih
 #align ideal.is_prime.mem_of_pow_mem Ideal.IsPrime.mem_of_pow_mem
+-/
 
 /- warning: ideal.not_is_prime_iff -> Ideal.not_isPrime_iff is a dubious translation:
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Not (Ideal.IsPrime.{u1} α _inst_1 I)) (Or (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Exists.{succ u1} α (fun (x : α) => Exists.{0} (Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) (fun (H : Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) => Exists.{succ u1} α (fun (y : α) => Exists.{0} (Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)) (fun (H : Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)) => Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) x y) I))))))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Not (Ideal.IsPrime.{u1} α _inst_1 I)) (Or (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Exists.{succ u1} α (fun (x : α) => Exists.{0} (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) (fun (H : Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) => Exists.{succ u1} α (fun (y : α) => Exists.{0} (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)) (fun (H : Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)) => Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) x y) I))))))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Not (Ideal.IsPrime.{u1} α _inst_1 I)) (Or (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Exists.{succ u1} α (fun (x : α) => Exists.{0} (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) (fun (H : Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) => Exists.{succ u1} α (fun (y : α) => Exists.{0} (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)) (fun (H : Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)) => Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) x y) I))))))
 Case conversion may be inaccurate. Consider using '#align ideal.not_is_prime_iff Ideal.not_isPrime_iffₓ'. -/
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ∉ » I) -/
 /- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (y «expr ∉ » I) -/
@@ -555,7 +535,7 @@ class IsMaximal (I : Ideal α) : Prop where
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsMaximal.{u1} α _inst_1 I) (IsCoatom.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Submodule.orderTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) I)
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsMaximal.{u1} α _inst_1 I) (IsCoatom.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) I)
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsMaximal.{u1} α _inst_1 I) (IsCoatom.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) I)
 Case conversion may be inaccurate. Consider using '#align ideal.is_maximal_def Ideal.isMaximal_defₓ'. -/
 theorem isMaximal_def {I : Ideal α} : I.IsMaximal ↔ IsCoatom I :=
   ⟨fun h => h.1, fun h => ⟨h⟩⟩
@@ -575,7 +555,7 @@ theorem IsMaximal.ne_top {I : Ideal α} (h : I.IsMaximal) : I ≠ ⊤ :=
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsMaximal.{u1} α _inst_1 I) (And (Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))) I)) (forall (J : Ideal.{u1} α _inst_1) (x : α), (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (SetLike.partialOrder.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) I J) -> (Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x J) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))) J)))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsMaximal.{u1} α _inst_1 I) (And (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))) I)) (forall (J : Ideal.{u1} α _inst_1) (x : α), (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) I J) -> (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x J) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))) J)))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Ideal.IsMaximal.{u1} α _inst_1 I) (And (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))) I)) (forall (J : Ideal.{u1} α _inst_1) (x : α), (LE.le.{u1} (Ideal.{u1} α _inst_1) (Preorder.toLE.{u1} (Ideal.{u1} α _inst_1) (PartialOrder.toPreorder.{u1} (Ideal.{u1} α _inst_1) (OmegaCompletePartialOrder.toPartialOrder.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.instOmegaCompletePartialOrder.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) I J) -> (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x J) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))) J)))
 Case conversion may be inaccurate. Consider using '#align ideal.is_maximal_iff Ideal.isMaximal_iffₓ'. -/
 theorem isMaximal_iff {I : Ideal α} :
     I.IsMaximal ↔ (1 : α) ∉ I ∧ ∀ (J : Ideal α) (x), I ≤ J → x ∉ I → x ∈ J → (1 : α) ∈ J :=
@@ -674,7 +654,7 @@ theorem span_pair_comm {x y : α} : (span {x, y} : Ideal α) = span {y, x} := by
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {x : α} {y : α} {z : α}, Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) z (Ideal.span.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) y)))) (Exists.{succ u1} α (fun (a : α) => Exists.{succ u1} α (fun (b : α) => Eq.{succ u1} α (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) a x) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) b y)) z)))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {x : α} {y : α} {z : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) z (Ideal.span.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) x (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) y)))) (Exists.{succ u1} α (fun (a : α) => Exists.{succ u1} α (fun (b : α) => Eq.{succ u1} α (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) a x) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) b y)) z)))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {x : α} {y : α} {z : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) z (Ideal.span.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) x (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) y)))) (Exists.{succ u1} α (fun (a : α) => Exists.{succ u1} α (fun (b : α) => Eq.{succ u1} α (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) a x) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) b y)) z)))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_span_pair Ideal.mem_span_pairₓ'. -/
 theorem mem_span_pair {x y z : α} : z ∈ span ({x, y} : Set α) ↔ ∃ a b, a * x + b * y = z :=
   Submodule.mem_span_pair
@@ -719,7 +699,7 @@ theorem span_pair_add_mul_right {R : Type u} [CommRing R] {x y : R} (z : R) :
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 I) -> (forall {x : α}, (Not (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) -> (Exists.{succ u1} α (fun (y : α) => Exists.{succ u1} α (fun (i : α) => Exists.{0} (Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) i I) (fun (H : Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) i I) => Eq.{succ u1} α (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toHasAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) y x) i) (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α (AddMonoidWithOne.toOne.{u1} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} α (NonAssocSemiring.toAddCommMonoidWithOne.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))))))))))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 I) -> (forall {x : α}, (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) -> (Exists.{succ u1} α (fun (y : α) => Exists.{succ u1} α (fun (i : α) => And (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) i I) (Eq.{succ u1} α (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) y x) i) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))))))))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 I) -> (forall {x : α}, (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) -> (Exists.{succ u1} α (fun (y : α) => Exists.{succ u1} α (fun (i : α) => And (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) i I) (Eq.{succ u1} α (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) y x) i) (OfNat.ofNat.{u1} α 1 (One.toOfNat1.{u1} α (Semiring.toOne.{u1} α _inst_1))))))))
 Case conversion may be inaccurate. Consider using '#align ideal.is_maximal.exists_inv Ideal.IsMaximal.exists_invₓ'. -/
 theorem IsMaximal.exists_inv {I : Ideal α} (hI : I.IsMaximal) {x} (hx : x ∉ I) :
     ∃ y, ∃ i ∈ I, y * x + i = 1 :=
@@ -741,7 +721,7 @@ variable {R : Type u} [Semiring R]
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x S) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Sup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x S) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Sup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x S) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Sup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_sup_left Ideal.mem_sup_leftₓ'. -/
 theorem mem_sup_left {S T : Ideal R} : ∀ {x : R}, x ∈ S → x ∈ S ⊔ T :=
   show S ≤ S ⊔ T from le_sup_left
@@ -751,7 +731,7 @@ theorem mem_sup_left {S T : Ideal R} : ∀ {x : R}, x ∈ S → x ∈ S ⊔ T :=
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x T) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Sup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x T) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Sup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x T) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Sup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_sup_right Ideal.mem_sup_rightₓ'. -/
 theorem mem_sup_right {S T : Ideal R} : ∀ {x : R}, x ∈ T → x ∈ S ⊔ T :=
   show T ≤ S ⊔ T from le_sup_right
@@ -761,7 +741,7 @@ theorem mem_sup_right {S T : Ideal R} : ∀ {x : R}, x ∈ T → x ∈ S ⊔ T :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {ι : Sort.{u2}} {S : ι -> (Ideal.{u1} R _inst_2)} (i : ι) {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (S i)) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (supᵢ.{u1, u2} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))) ι S))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_2 : Semiring.{u2} R] {ι : Sort.{u1}} {S : ι -> (Ideal.{u2} R _inst_2)} (i : ι) {x : R}, (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (S i)) -> (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (supᵢ.{u2, u1} (Ideal.{u2} R _inst_2) (ConditionallyCompleteLattice.toSupSet.{u2} (Ideal.{u2} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_2) (Submodule.completeLattice.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)))) ι S))
+  forall {R : Type.{u2}} [_inst_2 : Semiring.{u2} R] {ι : Sort.{u1}} {S : ι -> (Ideal.{u2} R _inst_2)} (i : ι) {x : R}, (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.setLike.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (S i)) -> (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.setLike.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (supᵢ.{u2, u1} (Ideal.{u2} R _inst_2) (ConditionallyCompleteLattice.toSupSet.{u2} (Ideal.{u2} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Ideal.{u2} R _inst_2) (Submodule.completeLattice.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)))) ι S))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_supr_of_mem Ideal.mem_supᵢ_of_memₓ'. -/
 theorem mem_supᵢ_of_mem {ι : Sort _} {S : ι → Ideal R} (i : ι) : ∀ {x : R}, x ∈ S i → x ∈ supᵢ S :=
   show S i ≤ supᵢ S from le_supᵢ _ _
@@ -771,7 +751,7 @@ theorem mem_supᵢ_of_mem {ι : Sort _} {S : ι → Ideal R} (i : ι) : ∀ {x :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Set.{u1} (Ideal.{u1} R _inst_2)} {s : Ideal.{u1} R _inst_2}, (Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_2)) s S) -> (forall {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x s) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (SupSet.supₛ.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toHasSup.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))) S)))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Set.{u1} (Ideal.{u1} R _inst_2)} {s : Ideal.{u1} R _inst_2}, (Membership.mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.instMembershipSet.{u1} (Ideal.{u1} R _inst_2)) s S) -> (forall {x : R}, (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x s) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (SupSet.supₛ.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toSupSet.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))) S)))
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Set.{u1} (Ideal.{u1} R _inst_2)} {s : Ideal.{u1} R _inst_2}, (Membership.mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.instMembershipSet.{u1} (Ideal.{u1} R _inst_2)) s S) -> (forall {x : R}, (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x s) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (SupSet.supₛ.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toSupSet.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))) S)))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_Sup_of_mem Ideal.mem_supₛ_of_memₓ'. -/
 theorem mem_supₛ_of_mem {S : Set (Ideal R)} {s : Ideal R} (hs : s ∈ S) :
     ∀ {x : R}, x ∈ s → x ∈ supₛ S :=
@@ -782,7 +762,7 @@ theorem mem_supₛ_of_mem {S : Set (Ideal R)} {s : Ideal R} (hs : s ∈ S) :
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {s : Set.{u1} (Ideal.{u1} R _inst_2)} {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (InfSet.infₛ.{u1} (Ideal.{u1} R _inst_2) (Submodule.hasInf.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) s)) (forall {{I : Ideal.{u1} R _inst_2}}, (Membership.Mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.hasMem.{u1} (Ideal.{u1} R _inst_2)) I s) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {s : Set.{u1} (Ideal.{u1} R _inst_2)} {x : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (InfSet.infₛ.{u1} (Ideal.{u1} R _inst_2) (Submodule.instInfSetSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) s)) (forall {{I : Ideal.{u1} R _inst_2}}, (Membership.mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.instMembershipSet.{u1} (Ideal.{u1} R _inst_2)) I s) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I))
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {s : Set.{u1} (Ideal.{u1} R _inst_2)} {x : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (InfSet.infₛ.{u1} (Ideal.{u1} R _inst_2) (Submodule.instInfSetSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) s)) (forall {{I : Ideal.{u1} R _inst_2}}, (Membership.mem.{u1, u1} (Ideal.{u1} R _inst_2) (Set.{u1} (Ideal.{u1} R _inst_2)) (Set.instMembershipSet.{u1} (Ideal.{u1} R _inst_2)) I s) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_Inf Ideal.mem_infₛₓ'. -/
 theorem mem_infₛ {s : Set (Ideal R)} {x : R} : x ∈ infₛ s ↔ ∀ ⦃I⦄, I ∈ s → x ∈ I :=
   ⟨fun hx I his => hx I ⟨I, infᵢ_pos his⟩, fun H I ⟨J, hij⟩ => hij ▸ fun S ⟨hj, hS⟩ => hS ▸ H hj⟩
@@ -792,7 +772,7 @@ theorem mem_infₛ {s : Set (Ideal R)} {x : R} : x ∈ infₛ s ↔ ∀ ⦃I⦄,
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {I : Ideal.{u1} R _inst_2} {J : Ideal.{u1} R _inst_2} {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Inf.inf.{u1} (Ideal.{u1} R _inst_2) (Submodule.hasInf.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) I J)) (And (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I) (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x J))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {I : Ideal.{u1} R _inst_2} {J : Ideal.{u1} R _inst_2} {x : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Inf.inf.{u1} (Ideal.{u1} R _inst_2) (Submodule.instInfSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) I J)) (And (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I) (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x J))
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {I : Ideal.{u1} R _inst_2} {J : Ideal.{u1} R _inst_2} {x : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Inf.inf.{u1} (Ideal.{u1} R _inst_2) (Submodule.instInfSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) I J)) (And (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I) (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x J))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_inf Ideal.mem_infₓ'. -/
 @[simp]
 theorem mem_inf {I J : Ideal R} {x : R} : x ∈ I ⊓ J ↔ x ∈ I ∧ x ∈ J :=
@@ -803,7 +783,7 @@ theorem mem_inf {I J : Ideal R} {x : R} : x ∈ I ⊓ J ↔ x ∈ I ∧ x ∈ J
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {ι : Sort.{u2}} {I : ι -> (Ideal.{u1} R _inst_2)} {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (infᵢ.{u1, u2} (Ideal.{u1} R _inst_2) (Submodule.hasInf.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) ι I)) (forall (i : ι), Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (I i))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_2 : Semiring.{u2} R] {ι : Sort.{u1}} {I : ι -> (Ideal.{u2} R _inst_2)} {x : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (infᵢ.{u2, u1} (Ideal.{u2} R _inst_2) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) ι I)) (forall (i : ι), Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.instSetLikeSubmodule.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (I i))
+  forall {R : Type.{u2}} [_inst_2 : Semiring.{u2} R] {ι : Sort.{u1}} {I : ι -> (Ideal.{u2} R _inst_2)} {x : R}, Iff (Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.setLike.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (infᵢ.{u2, u1} (Ideal.{u2} R _inst_2) (Submodule.instInfSetSubmodule.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2)) ι I)) (forall (i : ι), Membership.mem.{u2, u2} R (Ideal.{u2} R _inst_2) (SetLike.instMembership.{u2, u2} (Ideal.{u2} R _inst_2) R (Submodule.setLike.{u2, u2} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_2))) (Semiring.toModule.{u2} R _inst_2))) x (I i))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_infi Ideal.mem_infᵢₓ'. -/
 @[simp]
 theorem mem_infᵢ {ι : Sort _} {I : ι → Ideal R} {x : R} : x ∈ infᵢ I ↔ ∀ i, x ∈ I i :=
@@ -814,7 +794,7 @@ theorem mem_infᵢ {ι : Sort _} {I : ι → Ideal R} {x : R} : x ∈ infᵢ I 
 lean 3 declaration is
   forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Bot.bot.{u1} (Ideal.{u1} R _inst_2) (Submodule.hasBot.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _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 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))))))))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {x : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Bot.bot.{u1} (Ideal.{u1} R _inst_2) (Submodule.instBotSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))) (Eq.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))))
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {x : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Bot.bot.{u1} (Ideal.{u1} R _inst_2) (Submodule.instBotSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))) (Eq.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_2)))))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_bot Ideal.mem_botₓ'. -/
 @[simp]
 theorem mem_bot {x : R} : x ∈ (⊥ : Ideal R) ↔ x = 0 :=
@@ -837,15 +817,11 @@ def pi : Ideal (ι → α) where
 #align ideal.pi Ideal.pi
 -/
 
-/- warning: ideal.mem_pi -> Ideal.mem_pi is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) (ι : Type.{u2}) (x : ι -> α), Iff (Membership.Mem.{max u2 u1, max u2 u1} (ι -> α) (Ideal.{max u2 u1} (ι -> α) (Pi.semiring.{u2, u1} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_1))) (SetLike.hasMem.{max u2 u1, max u2 u1} (Ideal.{max u2 u1} (ι -> α) (Pi.semiring.{u2, u1} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_1))) (ι -> α) (Submodule.setLike.{max u2 u1, max u2 u1} (ι -> α) (ι -> α) (Pi.semiring.{u2, u1} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (ι -> α) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (ι -> α) (Semiring.toNonAssocSemiring.{max u2 u1} (ι -> α) (Pi.semiring.{u2, u1} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_1))))) (Semiring.toModule.{max u2 u1} (ι -> α) (Pi.semiring.{u2, u1} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_1))))) x (Ideal.pi.{u1, u2} α _inst_1 I ι)) (forall (i : ι), Membership.Mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (x i) I)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (I : Ideal.{u1} α _inst_1) (ι : Type.{u2}) (x : ι -> α), Iff (Membership.mem.{max u1 u2, max u1 u2} (ι -> α) (Ideal.{max u1 u2} (ι -> α) (Pi.semiring.{u2, u1} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_1))) (SetLike.instMembership.{max u1 u2, max u1 u2} (Ideal.{max u1 u2} (ι -> α) (Pi.semiring.{u2, u1} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_1))) (ι -> α) (Submodule.instSetLikeSubmodule.{max u1 u2, max u1 u2} (ι -> α) (ι -> α) (Pi.semiring.{u2, u1} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (ι -> α) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (ι -> α) (Semiring.toNonAssocSemiring.{max u1 u2} (ι -> α) (Pi.semiring.{u2, u1} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_1))))) (Semiring.toModule.{max u1 u2} (ι -> α) (Pi.semiring.{u2, u1} ι (fun (ᾰ : ι) => α) (fun (i : ι) => _inst_1))))) x (Ideal.pi.{u1, u2} α _inst_1 I ι)) (forall (i : ι), Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (x i) I)
-Case conversion may be inaccurate. Consider using '#align ideal.mem_pi Ideal.mem_piₓ'. -/
+#print Ideal.mem_pi /-
 theorem mem_pi (x : ι → α) : x ∈ I.pi ι ↔ ∀ i, x i ∈ I :=
   Iff.rfl
 #align ideal.mem_pi Ideal.mem_pi
+-/
 
 end Pi
 
@@ -890,32 +866,24 @@ variable [CommSemiring α] (I : Ideal α)
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] (I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) {x : α} {y : α}, (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))) y) -> (Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))))) x y) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) x I))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] (I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) {x : α} {y : α}, (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))) y) -> (Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) x y) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) x I))
+  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] (I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) {x : α} {y : α}, (IsUnit.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))) y) -> (Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) x y) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) x I))
 Case conversion may be inaccurate. Consider using '#align ideal.mul_unit_mem_iff_mem Ideal.mul_unit_mem_iff_memₓ'. -/
 @[simp]
 theorem mul_unit_mem_iff_mem {x y : α} (hy : IsUnit y) : x * y ∈ I ↔ x ∈ I :=
   mul_comm y x ▸ unit_mul_mem_iff_mem I hy
 #align ideal.mul_unit_mem_iff_mem Ideal.mul_unit_mem_iff_mem
 
-/- warning: ideal.mem_span_singleton -> Ideal.mem_span_singleton is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {x : α} {y : α}, Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) x (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) y))) (Dvd.Dvd.{u1} α (semigroupDvd.{u1} α (SemigroupWithZero.toSemigroup.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} α (CommSemiring.toNonUnitalCommSemiring.{u1} α _inst_1))))) y x)
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {x : α} {y : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) x (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) y))) (Dvd.dvd.{u1} α (semigroupDvd.{u1} α (SemigroupWithZero.toSemigroup.{u1} α (NonUnitalSemiring.toSemigroupWithZero.{u1} α (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} α (CommSemiring.toNonUnitalCommSemiring.{u1} α _inst_1))))) y x)
-Case conversion may be inaccurate. Consider using '#align ideal.mem_span_singleton Ideal.mem_span_singletonₓ'. -/
+#print Ideal.mem_span_singleton /-
 theorem mem_span_singleton {x y : α} : x ∈ span ({y} : Set α) ↔ y ∣ x :=
   mem_span_singleton'.trans <| exists_congr fun _ => by rw [eq_comm, mul_comm]
 #align ideal.mem_span_singleton Ideal.mem_span_singleton
+-/
 
-/- warning: ideal.mem_span_singleton_self -> Ideal.mem_span_singleton_self is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] (x : α), Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) x (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] (x : α), Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) x (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x))
-Case conversion may be inaccurate. Consider using '#align ideal.mem_span_singleton_self Ideal.mem_span_singleton_selfₓ'. -/
+#print Ideal.mem_span_singleton_self /-
 theorem mem_span_singleton_self (x : α) : x ∈ span ({x} : Set α) :=
   mem_span_singleton.mpr dvd_rfl
 #align ideal.mem_span_singleton_self Ideal.mem_span_singleton_self
+-/
 
 /- warning: ideal.span_singleton_le_span_singleton -> Ideal.span_singleton_le_span_singleton is a dubious translation:
 lean 3 declaration is
@@ -1029,7 +997,7 @@ variable (b)
 lean 3 declaration is
   forall {α : Type.{u1}} {a : α} (b : α) [_inst_1 : CommSemiring.{u1} α] (I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)), (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) a I) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))))) a b) I)
 but is expected to have type
-  forall {α : Type.{u1}} {a : α} (b : α) [_inst_1 : CommSemiring.{u1} α] (I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)), (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) a I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) a b) I)
+  forall {α : Type.{u1}} {a : α} (b : α) [_inst_1 : CommSemiring.{u1} α] (I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)), (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) a I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) a b) I)
 Case conversion may be inaccurate. Consider using '#align ideal.mul_mem_right Ideal.mul_mem_rightₓ'. -/
 theorem mul_mem_right (h : a ∈ I) : a * b ∈ I :=
   mul_comm b a ▸ I.mul_mem_left b h
@@ -1037,22 +1005,18 @@ theorem mul_mem_right (h : a ∈ I) : a * b ∈ I :=
 
 variable {b}
 
-/- warning: ideal.pow_mem_of_mem -> Ideal.pow_mem_of_mem is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {a : α} [_inst_1 : CommSemiring.{u1} α] (I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)), (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) a I) -> (forall (n : Nat), (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) a n) I))
-but is expected to have type
-  forall {α : Type.{u1}} {a : α} [_inst_1 : CommSemiring.{u1} α] (I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)), (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) a I) -> (forall (n : Nat), (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) a n) I))
-Case conversion may be inaccurate. Consider using '#align ideal.pow_mem_of_mem Ideal.pow_mem_of_memₓ'. -/
+#print Ideal.pow_mem_of_mem /-
 theorem pow_mem_of_mem (ha : a ∈ I) (n : ℕ) (hn : 0 < n) : a ^ n ∈ I :=
   Nat.casesOn n (Not.elim (by decide))
     (fun m hm => (pow_succ a m).symm ▸ I.mul_mem_right (a ^ m) ha) hn
 #align ideal.pow_mem_of_mem Ideal.pow_mem_of_mem
+-/
 
 /- warning: ideal.is_prime.mul_mem_iff_mem_or_mem -> Ideal.IsPrime.mul_mem_iff_mem_or_mem is a dubious translation:
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)}, (Ideal.IsPrime.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) I) -> (forall {x : α} {y : α}, Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))))) x y) I) (Or (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) x I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) y I)))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)}, (Ideal.IsPrime.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) I) -> (forall {x : α} {y : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) x y) I) (Or (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) x I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) y I)))
+  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)}, (Ideal.IsPrime.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) I) -> (forall {x : α} {y : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) x y) I) (Or (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) x I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) y I)))
 Case conversion may be inaccurate. Consider using '#align ideal.is_prime.mul_mem_iff_mem_or_mem Ideal.IsPrime.mul_mem_iff_mem_or_memₓ'. -/
 theorem IsPrime.mul_mem_iff_mem_or_mem {I : Ideal α} (hI : I.IsPrime) :
     ∀ {x y : α}, x * y ∈ I ↔ x ∈ I ∨ y ∈ I := fun x y =>
@@ -1061,22 +1025,18 @@ theorem IsPrime.mul_mem_iff_mem_or_mem {I : Ideal α} (hI : I.IsPrime) :
     exacts[I.mul_mem_right y h, I.mul_mem_left x h]⟩
 #align ideal.is_prime.mul_mem_iff_mem_or_mem Ideal.IsPrime.mul_mem_iff_mem_or_mem
 
-/- warning: ideal.is_prime.pow_mem_iff_mem -> Ideal.IsPrime.pow_mem_iff_mem is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)}, (Ideal.IsPrime.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) I) -> (forall {r : α} (n : Nat), (LT.lt.{0} Nat Nat.hasLt (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero))) n) -> (Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) r n) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) r I)))
-but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)}, (Ideal.IsPrime.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) I) -> (forall {r : α} (n : Nat), (LT.lt.{0} Nat instLTNat (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0)) n) -> (Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) r n) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) r I)))
-Case conversion may be inaccurate. Consider using '#align ideal.is_prime.pow_mem_iff_mem Ideal.IsPrime.pow_mem_iff_memₓ'. -/
+#print Ideal.IsPrime.pow_mem_iff_mem /-
 theorem IsPrime.pow_mem_iff_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ) (hn : 0 < n) :
     r ^ n ∈ I ↔ r ∈ I :=
   ⟨hI.mem_of_pow_mem n, fun hr => I.pow_mem_of_mem hr n hn⟩
 #align ideal.is_prime.pow_mem_iff_mem Ideal.IsPrime.pow_mem_iff_mem
+-/
 
 /- warning: ideal.pow_multiset_sum_mem_span_pow -> Ideal.pow_multiset_sum_mem_span_pow is a dubious translation:
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] (s : Multiset.{u1} α) (n : Nat), Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) (Multiset.sum.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) s) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HMul.hMul.{0, 0, 0} Nat Nat Nat (instHMul.{0} Nat Nat.hasMul) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (fun (_x : AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) => (Multiset.{u1} α) -> Nat) (AddMonoidHom.hasCoeToFun.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.card.{u1} α) s) n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) (Multiset.toFinset.{u1} α (fun (a : α) (b : α) => Classical.propDecidable (Eq.{succ u1} α a b)) (Multiset.map.{u1, u1} α α (fun (x : α) => HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) x (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) s))))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] (s : Multiset.{u1} α) (n : Nat), Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) α (instHPow.{u1, 0} α ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) (Multiset.sum.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) s) (HAdd.hAdd.{0, 0, 0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) (instHAdd.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) instAddNat) (HMul.hMul.{0, 0, 0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) (instHMul.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) instMulNat) (FunLike.coe.{succ u1, succ u1, 1} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) (fun (_x : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) _x) (AddHomClass.toFunLike.{u1, u1, 0} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) Nat (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{0} Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoidHomClass.toAddHomClass.{u1, u1, 0} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid) (AddMonoidHom.addMonoidHomClass.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))) (Multiset.card.{u1} α) s) n) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) 1 (instOfNatNat 1)))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Finset.toSet.{u1} α (Multiset.toFinset.{u1} α (fun (a : α) (b : α) => Classical.propDecidable (Eq.{succ u1} α a b)) (Multiset.map.{u1, u1} α α (fun (x : α) => HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) x (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) s))))
+  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] (s : Multiset.{u1} α) (n : Nat), Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) α (instHPow.{u1, 0} α ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) (Multiset.sum.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) s) (HAdd.hAdd.{0, 0, 0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) (instHAdd.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) instAddNat) (HMul.hMul.{0, 0, 0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) (instHMul.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) instMulNat) (FunLike.coe.{succ u1, succ u1, 1} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) (fun (_x : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) _x) (AddHomClass.toFunLike.{u1, u1, 0} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) Nat (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{0} Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoidHomClass.toAddHomClass.{u1, u1, 0} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid) (AddMonoidHom.addMonoidHomClass.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))) (Multiset.card.{u1} α) s) n) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) 1 (instOfNatNat 1)))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Finset.toSet.{u1} α (Multiset.toFinset.{u1} α (fun (a : α) (b : α) => Classical.propDecidable (Eq.{succ u1} α a b)) (Multiset.map.{u1, u1} α α (fun (x : α) => HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) x (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) s))))
 Case conversion may be inaccurate. Consider using '#align ideal.pow_multiset_sum_mem_span_pow Ideal.pow_multiset_sum_mem_span_powₓ'. -/
 theorem pow_multiset_sum_mem_span_pow (s : Multiset α) (n : ℕ) :
     s.Sum ^ (s.card * n + 1) ∈ span ((s.map fun x => x ^ (n + 1)).toFinset : Set α) :=
@@ -1110,7 +1070,7 @@ theorem pow_multiset_sum_mem_span_pow (s : Multiset α) (n : ℕ) :
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] {ι : Type.{u2}} (s : Finset.{u2} ι) (f : ι -> α) (n : Nat), Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) (Finset.sum.{u1, u2} α ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) s (fun (i : ι) => f i)) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HMul.hMul.{0, 0, 0} Nat Nat Nat (instHMul.{0} Nat Nat.hasMul) (Finset.card.{u2} ι s) n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Set.image.{u2, u1} ι α (fun (i : ι) => HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) (f i) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) ((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)))
 but is expected to have type
-  forall {α : Type.{u2}} [_inst_1 : CommSemiring.{u2} α] {ι : Type.{u1}} (s : Finset.{u1} ι) (f : ι -> α) (n : Nat), Membership.mem.{u2, u2} α (Ideal.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u2, u2} α α (CommSemiring.toSemiring.{u2} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1)))) (Semiring.toModule.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1)))) (HPow.hPow.{u2, 0, u2} α Nat α (instHPow.{u2, 0} α Nat (Monoid.Pow.{u2} α (MonoidWithZero.toMonoid.{u2} α (Semiring.toMonoidWithZero.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1))))) (Finset.sum.{u2, u1} α ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1)))) s (fun (i : ι) => f i)) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HMul.hMul.{0, 0, 0} Nat Nat Nat (instHMul.{0} Nat instMulNat) (Finset.card.{u1} ι s) n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Ideal.span.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1) (Set.image.{u1, u2} ι α (fun (i : ι) => HPow.hPow.{u2, 0, u2} α Nat α (instHPow.{u2, 0} α Nat (Monoid.Pow.{u2} α (MonoidWithZero.toMonoid.{u2} α (Semiring.toMonoidWithZero.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1))))) (f i) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Finset.toSet.{u1} ι s)))
+  forall {α : Type.{u2}} [_inst_1 : CommSemiring.{u2} α] {ι : Type.{u1}} (s : Finset.{u1} ι) (f : ι -> α) (n : Nat), Membership.mem.{u2, u2} α (Ideal.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1)) (SetLike.instMembership.{u2, u2} (Ideal.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1)) α (Submodule.setLike.{u2, u2} α α (CommSemiring.toSemiring.{u2} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1)))) (Semiring.toModule.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1)))) (HPow.hPow.{u2, 0, u2} α Nat α (instHPow.{u2, 0} α Nat (Monoid.Pow.{u2} α (MonoidWithZero.toMonoid.{u2} α (Semiring.toMonoidWithZero.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1))))) (Finset.sum.{u2, u1} α ι (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1)))) s (fun (i : ι) => f i)) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) (HMul.hMul.{0, 0, 0} Nat Nat Nat (instHMul.{0} Nat instMulNat) (Finset.card.{u1} ι s) n) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Ideal.span.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1) (Set.image.{u1, u2} ι α (fun (i : ι) => HPow.hPow.{u2, 0, u2} α Nat α (instHPow.{u2, 0} α Nat (Monoid.Pow.{u2} α (MonoidWithZero.toMonoid.{u2} α (Semiring.toMonoidWithZero.{u2} α (CommSemiring.toSemiring.{u2} α _inst_1))))) (f i) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) (Finset.toSet.{u1} ι s)))
 Case conversion may be inaccurate. Consider using '#align ideal.sum_pow_mem_span_pow Ideal.sum_pow_mem_span_powₓ'. -/
 theorem sum_pow_mem_span_pow {ι} (s : Finset ι) (f : ι → α) (n : ℕ) :
     (∑ i in s, f i) ^ (s.card * n + 1) ∈ span ((fun i => f i ^ (n + 1)) '' s) :=
@@ -1167,7 +1127,7 @@ variable [Ring α] (I : Ideal α) {a b : α}
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α}, Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Neg.neg.{u1} α (SubNegMonoid.toHasNeg.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1))))) a) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I)
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Neg.neg.{u1} α (Ring.toNeg.{u1} α _inst_1) a) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I)
+  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Neg.neg.{u1} α (Ring.toNeg.{u1} α _inst_1) a) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I)
 Case conversion may be inaccurate. Consider using '#align ideal.neg_mem_iff Ideal.neg_mem_iffₓ'. -/
 protected theorem neg_mem_iff : -a ∈ I ↔ a ∈ I :=
   neg_mem_iff
@@ -1177,7 +1137,7 @@ protected theorem neg_mem_iff : -a ∈ I ↔ a ∈ I :=
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I) -> (Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toHasAdd.{u1} α (Ring.toDistrib.{u1} α _inst_1))) a b) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I) -> (Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))))) a b) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I))
+  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I) -> (Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))))) a b) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I))
 Case conversion may be inaccurate. Consider using '#align ideal.add_mem_iff_left Ideal.add_mem_iff_leftₓ'. -/
 protected theorem add_mem_iff_left : b ∈ I → (a + b ∈ I ↔ a ∈ I) :=
   I.add_mem_iff_left
@@ -1187,7 +1147,7 @@ protected theorem add_mem_iff_left : b ∈ I → (a + b ∈ I ↔ a ∈ I) :=
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I) -> (Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toHasAdd.{u1} α (Ring.toDistrib.{u1} α _inst_1))) a b) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I) -> (Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))))) a b) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I))
+  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I) -> (Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))))) a b) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I))
 Case conversion may be inaccurate. Consider using '#align ideal.add_mem_iff_right Ideal.add_mem_iff_rightₓ'. -/
 protected theorem add_mem_iff_right : a ∈ I → (a + b ∈ I ↔ b ∈ I) :=
   I.add_mem_iff_right
@@ -1197,7 +1157,7 @@ protected theorem add_mem_iff_right : a ∈ I → (a + b ∈ I ↔ b ∈ I) :=
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I) -> (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α (SubNegMonoid.toHasSub.{u1} α (AddGroup.toSubNegMonoid.{u1} α (AddGroupWithOne.toAddGroup.{u1} α (NonAssocRing.toAddGroupWithOne.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))))) a b) I)
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α (Ring.toSub.{u1} α _inst_1)) a b) I)
+  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] (I : Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) {a : α} {b : α}, (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) a I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) b I) -> (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HSub.hSub.{u1, u1, u1} α α α (instHSub.{u1} α (Ring.toSub.{u1} α _inst_1)) a b) I)
 Case conversion may be inaccurate. Consider using '#align ideal.sub_mem Ideal.sub_memₓ'. -/
 protected theorem sub_mem : a ∈ I → b ∈ I → a - b ∈ I :=
   sub_mem
@@ -1207,7 +1167,7 @@ protected theorem sub_mem : a ∈ I → b ∈ I → a - b ∈ I :=
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] {s : Set.{u1} α} {x : α} {y : α}, Iff (Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) x (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) y s))) (Exists.{succ u1} α (fun (a : α) => Membership.Mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toHasAdd.{u1} α (Ring.toDistrib.{u1} α _inst_1))) x (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (Ring.toDistrib.{u1} α _inst_1))) a y)) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) s)))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] {s : Set.{u1} α} {x : α} {y : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) x (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) y s))) (Exists.{succ u1} α (fun (a : α) => Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))))) x (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))) a y)) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) s)))
+  forall {α : Type.{u1}} [_inst_1 : Ring.{u1} α] {s : Set.{u1} α} {x : α} {y : α}, Iff (Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) x (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) y s))) (Exists.{succ u1} α (fun (a : α) => Membership.mem.{u1, u1} α (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (Ring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (Ring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (Ring.toSemiring.{u1} α _inst_1)))) (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α (Distrib.toAdd.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))))) x (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocRing.toMul.{u1} α (NonAssocRing.toNonUnitalNonAssocRing.{u1} α (Ring.toNonAssocRing.{u1} α _inst_1)))) a y)) (Ideal.span.{u1} α (Ring.toSemiring.{u1} α _inst_1) s)))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_span_insert' Ideal.mem_span_insert'ₓ'. -/
 theorem mem_span_insert' {s : Set α} {x y} : x ∈ span (insert y s) ↔ ∃ a, x + a * y ∈ span s :=
   Submodule.mem_span_insert'
@@ -1294,7 +1254,7 @@ namespace Ideal
 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))) {a : R} {b : R} {c : R} {d : R}, (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))))) (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 (CommRing.toRing.{u1} R _inst_1))))))) a b) I) -> (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))))) (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 (CommRing.toRing.{u1} R _inst_1))))))) c d) I) -> (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))))) (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 (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)))) a c) (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)))) b d)) 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))) {a : R} {b : R} {c : R} {d : R}, (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) a b) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) c d) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{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))))) a c) (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))))) b d)) I)
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] (I : Ideal.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) {a : R} {b : R} {c : R} {d : R}, (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) a b) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{u1} R _inst_1))) c d) I) -> (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))))) (HSub.hSub.{u1, u1, u1} R R R (instHSub.{u1} R (Ring.toSub.{u1} R (CommRing.toRing.{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))))) a c) (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))))) b d)) I)
 Case conversion may be inaccurate. Consider using '#align ideal.mul_sub_mul_mem Ideal.mul_sub_mul_memₓ'. -/
 theorem mul_sub_mul_mem {R : Type _} [CommRing R] (I : Ideal R) {a b c d : R} (h1 : a - b ∈ I)
     (h2 : c - d ∈ I) : a * c - b * d ∈ I :=
@@ -1496,18 +1456,13 @@ theorem one_not_mem_nonunits [Monoid α] : (1 : α) ∉ nonunits α :=
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) -> (HasSubset.Subset.{u1} (Set.{u1} α) (Set.hasSubset.{u1} α) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Ideal.{u1} α _inst_1) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Ideal.{u1} α _inst_1) (Set.{u1} α) (SetLike.Set.hasCoeT.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))) I) (nonunits.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1))))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) -> (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) (SetLike.coe.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) I) (nonunits.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1))))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, (Ne.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) -> (HasSubset.Subset.{u1} (Set.{u1} α) (Set.instHasSubsetSet.{u1} α) (SetLike.coe.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.setLike.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)) I) (nonunits.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α _inst_1))))
 Case conversion may be inaccurate. Consider using '#align coe_subset_nonunits coe_subset_nonunitsₓ'. -/
 theorem coe_subset_nonunits [Semiring α] {I : Ideal α} (h : I ≠ ⊤) : (I : Set α) ⊆ nonunits α :=
   fun x hx hu => h <| I.eq_top_of_isUnit_mem hx hu
 #align coe_subset_nonunits coe_subset_nonunits
 
-/- warning: exists_max_ideal_of_mem_nonunits -> exists_max_ideal_of_mem_nonunits is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {a : α} [_inst_1 : CommSemiring.{u1} α], (Membership.Mem.{u1, u1} α (Set.{u1} α) (Set.hasMem.{u1} α) a (nonunits.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) -> (Exists.{succ u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (fun (I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) => And (Ideal.IsMaximal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) I) (Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) a I)))
-but is expected to have type
-  forall {α : Type.{u1}} {a : α} [_inst_1 : CommSemiring.{u1} α], (Membership.mem.{u1, u1} α (Set.{u1} α) (Set.instMembershipSet.{u1} α) a (nonunits.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) -> (Exists.{succ u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (fun (I : Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) => And (Ideal.IsMaximal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) I) (Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) a I)))
-Case conversion may be inaccurate. Consider using '#align exists_max_ideal_of_mem_nonunits exists_max_ideal_of_mem_nonunitsₓ'. -/
+#print exists_max_ideal_of_mem_nonunits /-
 theorem exists_max_ideal_of_mem_nonunits [CommSemiring α] (h : a ∈ nonunits α) :
     ∃ I : Ideal α, I.IsMaximal ∧ a ∈ I :=
   by
@@ -1521,4 +1476,5 @@ theorem exists_max_ideal_of_mem_nonunits [CommSemiring α] (h : a ∈ nonunits 
   apply Ideal.subset_span
   exact Set.mem_singleton a
 #align exists_max_ideal_of_mem_nonunits exists_max_ideal_of_mem_nonunits
+-/
 
Diff
@@ -1076,7 +1076,7 @@ theorem IsPrime.pow_mem_iff_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : 
 lean 3 declaration is
   forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] (s : Multiset.{u1} α) (n : Nat), Membership.Mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.setLike.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) (Multiset.sum.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) s) (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) (HMul.hMul.{0, 0, 0} Nat Nat Nat (instHMul.{0} Nat Nat.hasMul) (coeFn.{succ u1, succ u1} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (fun (_x : AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) => (Multiset.{u1} α) -> Nat) (AddMonoidHom.hasCoeToFun.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.orderedCancelAddCommMonoid.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.card.{u1} α) s) n) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} α) (Set.{u1} α) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (CoeTCₓ.coe.{succ u1, succ u1} (Finset.{u1} α) (Set.{u1} α) (Finset.Set.hasCoeT.{u1} α))) (Multiset.toFinset.{u1} α (fun (a : α) (b : α) => Classical.propDecidable (Eq.{succ u1} α a b)) (Multiset.map.{u1, u1} α α (fun (x : α) => HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) x (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) s))))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] (s : Multiset.{u1} α) (n : Nat), Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Nat) s) α (instHPow.{u1, 0} α ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Nat) s) (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) (Multiset.sum.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) s) (HAdd.hAdd.{0, 0, 0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Nat) s) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Nat) s) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Nat) s) (instHAdd.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Nat) s) instAddNat) (HMul.hMul.{0, 0, 0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Nat) s) Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Nat) s) (instHMul.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Nat) s) instMulNat) (FunLike.coe.{succ u1, succ u1, 1} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) (fun (_x : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Nat) _x) (AddHomClass.toFunLike.{u1, u1, 0} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) Nat (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{0} Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoidHomClass.toAddHomClass.{u1, u1, 0} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid) (AddMonoidHom.addMonoidHomClass.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))) (Multiset.card.{u1} α) s) n) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Multiset.{u1} α) => Nat) s) 1 (instOfNatNat 1)))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Finset.toSet.{u1} α (Multiset.toFinset.{u1} α (fun (a : α) (b : α) => Classical.propDecidable (Eq.{succ u1} α a b)) (Multiset.map.{u1, u1} α α (fun (x : α) => HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) x (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) s))))
+  forall {α : Type.{u1}} [_inst_1 : CommSemiring.{u1} α] (s : Multiset.{u1} α) (n : Nat), Membership.mem.{u1, u1} α (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)) α (Submodule.instSetLikeSubmodule.{u1, u1} α α (CommSemiring.toSemiring.{u1} α _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (Semiring.toModule.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) (HPow.hPow.{u1, 0, u1} α ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) α (instHPow.{u1, 0} α ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) (Multiset.sum.{u1} α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1)))) s) (HAdd.hAdd.{0, 0, 0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) (instHAdd.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) instAddNat) (HMul.hMul.{0, 0, 0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) Nat ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) (instHMul.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) instMulNat) (FunLike.coe.{succ u1, succ u1, 1} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) (fun (_x : Multiset.{u1} α) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) _x) (AddHomClass.toFunLike.{u1, u1, 0} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) Nat (AddZeroClass.toAdd.{u1} (Multiset.{u1} α) (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α))))))) (AddZeroClass.toAdd.{0} Nat (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (AddMonoidHomClass.toAddHomClass.{u1, u1, 0} (AddMonoidHom.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)) (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid) (AddMonoidHom.addMonoidHomClass.{u1, 0} (Multiset.{u1} α) Nat (AddMonoid.toAddZeroClass.{u1} (Multiset.{u1} α) (AddRightCancelMonoid.toAddMonoid.{u1} (Multiset.{u1} α) (AddCancelMonoid.toAddRightCancelMonoid.{u1} (Multiset.{u1} α) (AddCancelCommMonoid.toAddCancelMonoid.{u1} (Multiset.{u1} α) (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} (Multiset.{u1} α) (Multiset.instOrderedCancelAddCommMonoidMultiset.{u1} α)))))) (AddMonoid.toAddZeroClass.{0} Nat Nat.addMonoid)))) (Multiset.card.{u1} α) s) n) (OfNat.ofNat.{0} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Multiset.{u1} α) => Nat) s) 1 (instOfNatNat 1)))) (Ideal.span.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1) (Finset.toSet.{u1} α (Multiset.toFinset.{u1} α (fun (a : α) (b : α) => Classical.propDecidable (Eq.{succ u1} α a b)) (Multiset.map.{u1, u1} α α (fun (x : α) => HPow.hPow.{u1, 0, u1} α Nat α (instHPow.{u1, 0} α Nat (Monoid.Pow.{u1} α (MonoidWithZero.toMonoid.{u1} α (Semiring.toMonoidWithZero.{u1} α (CommSemiring.toSemiring.{u1} α _inst_1))))) x (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) s))))
 Case conversion may be inaccurate. Consider using '#align ideal.pow_multiset_sum_mem_span_pow Ideal.pow_multiset_sum_mem_span_powₓ'. -/
 theorem pow_multiset_sum_mem_span_pow (s : Multiset α) (n : ℕ) :
     s.Sum ^ (s.card * n + 1) ∈ span ((s.map fun x => x ^ (n + 1)).toFinset : Set α) :=
Diff
@@ -1096,7 +1096,7 @@ theorem pow_multiset_sum_mem_span_pow (s : Multiset α) (n : ℕ) :
     simp_rw [← mul_assoc]
     rw [← pow_add, add_zero, add_tsub_cancel_of_le h]
   · use 0
-    simp_rw [zero_mul, zero_add]
+    simp_rw [MulZeroClass.zero_mul, zero_add]
     refine' ⟨_, _, rfl⟩
     replace h : c ≤ n := nat.lt_succ_iff.mp (not_le.mp h)
     have : (s.card + 1) * n + 1 - c = s.card * n + 1 + (n - c) := by
Diff
@@ -125,7 +125,7 @@ theorem eq_top_of_unit_mem (x y : α) (hx : x ∈ I) (h : y * x = 1) : I = ⊤ :
   eq_top_iff.2 fun z _ =>
     calc
       z = z * (y * x) := by simp [h]
-      _ = z * y * x := Eq.symm <| mul_assoc z y x
+      _ = z * y * x := (Eq.symm <| mul_assoc z y x)
       _ ∈ I := I.mul_mem_left _ hx
       
 #align ideal.eq_top_of_unit_mem Ideal.eq_top_of_unit_mem
@@ -511,8 +511,8 @@ lean 3 declaration is
 but is expected to have type
   forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {I : Ideal.{u1} α _inst_1}, Iff (Not (Ideal.IsPrime.{u1} α _inst_1 I)) (Or (Eq.{succ u1} (Ideal.{u1} α _inst_1) I (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))) (Exists.{succ u1} α (fun (x : α) => Exists.{0} (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) (fun (H : Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) x I)) => Exists.{succ u1} α (fun (y : α) => Exists.{0} (Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)) (fun (H : Not (Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) y I)) => Membership.mem.{u1, u1} α (Ideal.{u1} α _inst_1) (SetLike.instMembership.{u1, u1} (Ideal.{u1} α _inst_1) α (Submodule.instSetLikeSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1)))) x y) I))))))
 Case conversion may be inaccurate. Consider using '#align ideal.not_is_prime_iff Ideal.not_isPrime_iffₓ'. -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:628:2: warning: expanding binder collection (x «expr ∉ » I) -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:628:2: warning: expanding binder collection (y «expr ∉ » I) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ∉ » I) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (y «expr ∉ » I) -/
 theorem not_isPrime_iff {I : Ideal α} :
     ¬I.IsPrime ↔ I = ⊤ ∨ ∃ (x : _)(_ : x ∉ I)(y : _)(_ : y ∉ I), x * y ∈ I :=
   by
@@ -1322,7 +1322,7 @@ lean 3 declaration is
 but is expected to have type
   forall {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Nontrivial.{u1} R], (Not (IsField.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) -> (Exists.{succ u1} R (fun (x : R) => Exists.{0} (Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1))))) (fun (H : Ne.{succ u1} R x (OfNat.ofNat.{u1} R 0 (Zero.toOfNat0.{u1} R (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1))))) => Not (IsUnit.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) x))))
 Case conversion may be inaccurate. Consider using '#align ring.exists_not_is_unit_of_not_is_field Ring.exists_not_isUnit_of_not_isFieldₓ'. -/
-/- ./././Mathport/Syntax/Translate/Basic.lean:628:2: warning: expanding binder collection (x «expr ≠ » (0 : R)) -/
+/- ./././Mathport/Syntax/Translate/Basic.lean:635:2: warning: expanding binder collection (x «expr ≠ » (0 : R)) -/
 theorem exists_not_isUnit_of_not_isField [Nontrivial R] (hf : ¬IsField R) :
     ∃ (x : _)(_ : x ≠ (0 : R)), ¬IsUnit x :=
   by
Diff
@@ -214,9 +214,9 @@ theorem span_univ : span (Set.univ : Set α) = ⊤ :=
 
 /- warning: ideal.span_union -> Ideal.span_union is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (s : Set.{u1} α) (t : Set.{u1} α), Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Union.union.{u1} (Set.{u1} α) (Set.hasUnion.{u1} α) s t)) (HasSup.sup.{u1} (Ideal.{u1} α _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 s) (Ideal.span.{u1} α _inst_1 t))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (s : Set.{u1} α) (t : Set.{u1} α), Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Union.union.{u1} (Set.{u1} α) (Set.hasUnion.{u1} α) s t)) (Sup.sup.{u1} (Ideal.{u1} α _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 s) (Ideal.span.{u1} α _inst_1 t))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (s : Set.{u1} α) (t : Set.{u1} α), Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Union.union.{u1} (Set.{u1} α) (Set.instUnionSet.{u1} α) s t)) (HasSup.sup.{u1} (Ideal.{u1} α _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 s) (Ideal.span.{u1} α _inst_1 t))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (s : Set.{u1} α) (t : Set.{u1} α), Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Union.union.{u1} (Set.{u1} α) (Set.instUnionSet.{u1} α) s t)) (Sup.sup.{u1} (Ideal.{u1} α _inst_1) (SemilatticeSup.toSup.{u1} (Ideal.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 s) (Ideal.span.{u1} α _inst_1 t))
 Case conversion may be inaccurate. Consider using '#align ideal.span_union Ideal.span_unionₓ'. -/
 theorem span_union (s t : Set α) : span (s ∪ t) = span s ⊔ span t :=
   Submodule.span_union _ _
@@ -338,11 +338,15 @@ theorem span_singleton_mul_left_unit {a : α} (h2 : IsUnit a) (x : α) :
   exacts[⟨a, rfl⟩, ⟨_, h2.unit.inv_mul_cancel_left x⟩]
 #align ideal.span_singleton_mul_left_unit Ideal.span_singleton_mul_left_unit
 
-#print Ideal.span_insert /-
+/- warning: ideal.span_insert -> Ideal.span_insert is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (x : α) (s : Set.{u1} α), Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.hasInsert.{u1} α) x s)) (Sup.sup.{u1} (Ideal.{u1} α _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.hasSingleton.{u1} α) x)) (Ideal.span.{u1} α _inst_1 s))
+but is expected to have type
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] (x : α) (s : Set.{u1} α), Eq.{succ u1} (Ideal.{u1} α _inst_1) (Ideal.span.{u1} α _inst_1 (Insert.insert.{u1, u1} α (Set.{u1} α) (Set.instInsertSet.{u1} α) x s)) (Sup.sup.{u1} (Ideal.{u1} α _inst_1) (SemilatticeSup.toSup.{u1} (Ideal.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) (Ideal.span.{u1} α _inst_1 (Singleton.singleton.{u1, u1} α (Set.{u1} α) (Set.instSingletonSet.{u1} α) x)) (Ideal.span.{u1} α _inst_1 s))
+Case conversion may be inaccurate. Consider using '#align ideal.span_insert Ideal.span_insertₓ'. -/
 theorem span_insert (x) (s : Set α) : span (insert x s) = span ({x} : Set α) ⊔ span s :=
   Submodule.span_insert x s
 #align ideal.span_insert Ideal.span_insert
--/
 
 /- warning: ideal.span_eq_bot -> Ideal.span_eq_bot is a dubious translation:
 lean 3 declaration is
@@ -413,9 +417,9 @@ theorem span_eq_top_iff_finite (s : Set α) :
 
 /- warning: ideal.mem_span_singleton_sup -> Ideal.mem_span_singleton_sup is a dubious translation:
 lean 3 declaration is
-  forall {S : Type.{u1}} [_inst_2 : CommSemiring.{u1} S] {x : S} {y : S} {I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)}, Iff (Membership.Mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) x (HasSup.sup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Submodule.completeLattice.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2))))))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.hasSingleton.{u1} S) y)) I)) (Exists.{succ u1} S (fun (a : S) => Exists.{succ u1} S (fun (b : S) => Exists.{0} (Membership.Mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) b I) (fun (H : Membership.Mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) b I) => Eq.{succ u1} S (HAdd.hAdd.{u1, u1, u1} S S S (instHAdd.{u1} S (Distrib.toHasAdd.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))))) (HMul.hMul.{u1, u1, u1} S S S (instHMul.{u1} S (Distrib.toHasMul.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))))) a y) b) x))))
+  forall {S : Type.{u1}} [_inst_2 : CommSemiring.{u1} S] {x : S} {y : S} {I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)}, Iff (Membership.Mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) x (Sup.sup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Submodule.completeLattice.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2))))))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.hasSingleton.{u1} S) y)) I)) (Exists.{succ u1} S (fun (a : S) => Exists.{succ u1} S (fun (b : S) => Exists.{0} (Membership.Mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) b I) (fun (H : Membership.Mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.hasMem.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.setLike.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) b I) => Eq.{succ u1} S (HAdd.hAdd.{u1, u1, u1} S S S (instHAdd.{u1} S (Distrib.toHasAdd.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))))) (HMul.hMul.{u1, u1, u1} S S S (instHMul.{u1} S (Distrib.toHasMul.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))))) a y) b) x))))
 but is expected to have type
-  forall {S : Type.{u1}} [_inst_2 : CommSemiring.{u1} S] {x : S} {y : S} {I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) x (HasSup.sup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Submodule.completeLattice.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2))))))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) y)) I)) (Exists.{succ u1} S (fun (a : S) => Exists.{succ u1} S (fun (b : S) => And (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) b I) (Eq.{succ u1} S (HAdd.hAdd.{u1, u1, u1} S S S (instHAdd.{u1} S (Distrib.toAdd.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))))) (HMul.hMul.{u1, u1, u1} S S S (instHMul.{u1} S (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2))))) a y) b) x))))
+  forall {S : Type.{u1}} [_inst_2 : CommSemiring.{u1} S] {x : S} {y : S} {I : Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)}, Iff (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) x (Sup.sup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SemilatticeSup.toSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (Submodule.completeLattice.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2))))))) (Ideal.span.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2) (Singleton.singleton.{u1, u1} S (Set.{u1} S) (Set.instSingletonSet.{u1} S) y)) I)) (Exists.{succ u1} S (fun (a : S) => Exists.{succ u1} S (fun (b : S) => And (Membership.mem.{u1, u1} S (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) (SetLike.instMembership.{u1, u1} (Ideal.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)) S (Submodule.instSetLikeSubmodule.{u1, u1} S S (CommSemiring.toSemiring.{u1} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) (Semiring.toModule.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))) b I) (Eq.{succ u1} S (HAdd.hAdd.{u1, u1, u1} S S S (instHAdd.{u1} S (Distrib.toAdd.{u1} S (NonUnitalNonAssocSemiring.toDistrib.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2)))))) (HMul.hMul.{u1, u1, u1} S S S (instHMul.{u1} S (NonUnitalNonAssocSemiring.toMul.{u1} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} S (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2))))) a y) b) x))))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_span_singleton_sup Ideal.mem_span_singleton_supₓ'. -/
 theorem mem_span_singleton_sup {S : Type _} [CommSemiring S] {x y : S} {I : Ideal S} :
     x ∈ Ideal.span {y} ⊔ I ↔ ∃ a : S, ∃ b ∈ I, a * y + b = x :=
@@ -604,9 +608,9 @@ instance : IsCoatomic (Ideal α) :=
 
 /- warning: ideal.is_maximal.coprime_of_ne -> Ideal.IsMaximal.coprime_of_ne is a dubious translation:
 lean 3 declaration is
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {M : Ideal.{u1} α _inst_1} {M' : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 M) -> (Ideal.IsMaximal.{u1} α _inst_1 M') -> (Ne.{succ u1} (Ideal.{u1} α _inst_1) M M') -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) (HasSup.sup.{u1} (Ideal.{u1} α _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) M M') (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {M : Ideal.{u1} α _inst_1} {M' : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 M) -> (Ideal.IsMaximal.{u1} α _inst_1 M') -> (Ne.{succ u1} (Ideal.{u1} α _inst_1) M M') -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) (Sup.sup.{u1} (Ideal.{u1} α _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) M M') (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.hasTop.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
 but is expected to have type
-  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {M : Ideal.{u1} α _inst_1} {M' : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 M) -> (Ideal.IsMaximal.{u1} α _inst_1 M') -> (Ne.{succ u1} (Ideal.{u1} α _inst_1) M M') -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) (HasSup.sup.{u1} (Ideal.{u1} α _inst_1) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) M M') (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
+  forall {α : Type.{u1}} [_inst_1 : Semiring.{u1} α] {M : Ideal.{u1} α _inst_1} {M' : Ideal.{u1} α _inst_1}, (Ideal.IsMaximal.{u1} α _inst_1 M) -> (Ideal.IsMaximal.{u1} α _inst_1 M') -> (Ne.{succ u1} (Ideal.{u1} α _inst_1) M M') -> (Eq.{succ u1} (Ideal.{u1} α _inst_1) (Sup.sup.{u1} (Ideal.{u1} α _inst_1) (SemilatticeSup.toSup.{u1} (Ideal.{u1} α _inst_1) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} α _inst_1) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} α _inst_1) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} α _inst_1) (Submodule.completeLattice.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1)))))) M M') (Top.top.{u1} (Ideal.{u1} α _inst_1) (Submodule.instTopSubmodule.{u1, u1} α α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_1))) (Semiring.toModule.{u1} α _inst_1))))
 Case conversion may be inaccurate. Consider using '#align ideal.is_maximal.coprime_of_ne Ideal.IsMaximal.coprime_of_neₓ'. -/
 theorem IsMaximal.coprime_of_ne {M M' : Ideal α} (hM : M.IsMaximal) (hM' : M'.IsMaximal)
     (hne : M ≠ M') : M ⊔ M' = ⊤ := by
@@ -735,9 +739,9 @@ variable {R : Type u} [Semiring R]
 
 /- warning: ideal.mem_sup_left -> Ideal.mem_sup_left is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x S) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (HasSup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x S) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Sup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x S) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (HasSup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x S) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Sup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_sup_left Ideal.mem_sup_leftₓ'. -/
 theorem mem_sup_left {S T : Ideal R} : ∀ {x : R}, x ∈ S → x ∈ S ⊔ T :=
   show S ≤ S ⊔ T from le_sup_left
@@ -745,9 +749,9 @@ theorem mem_sup_left {S T : Ideal R} : ∀ {x : R}, x ∈ S → x ∈ S ⊔ T :=
 
 /- warning: ideal.mem_sup_right -> Ideal.mem_sup_right is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x T) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (HasSup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x T) -> (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Sup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x T) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (HasSup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toHasSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {S : Ideal.{u1} R _inst_2} {T : Ideal.{u1} R _inst_2} {x : R}, (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x T) -> (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Sup.sup.{u1} (Ideal.{u1} R _inst_2) (SemilatticeSup.toSup.{u1} (Ideal.{u1} R _inst_2) (Lattice.toSemilatticeSup.{u1} (Ideal.{u1} R _inst_2) (ConditionallyCompleteLattice.toLattice.{u1} (Ideal.{u1} R _inst_2) (CompleteLattice.toConditionallyCompleteLattice.{u1} (Ideal.{u1} R _inst_2) (Submodule.completeLattice.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)))))) S T))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_sup_right Ideal.mem_sup_rightₓ'. -/
 theorem mem_sup_right {S T : Ideal R} : ∀ {x : R}, x ∈ T → x ∈ S ⊔ T :=
   show T ≤ S ⊔ T from le_sup_right
@@ -786,9 +790,9 @@ theorem mem_infₛ {s : Set (Ideal R)} {x : R} : x ∈ infₛ s ↔ ∀ ⦃I⦄,
 
 /- warning: ideal.mem_inf -> Ideal.mem_inf is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {I : Ideal.{u1} R _inst_2} {J : Ideal.{u1} R _inst_2} {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (HasInf.inf.{u1} (Ideal.{u1} R _inst_2) (Submodule.hasInf.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) I J)) (And (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I) (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x J))
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {I : Ideal.{u1} R _inst_2} {J : Ideal.{u1} R _inst_2} {x : R}, Iff (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Inf.inf.{u1} (Ideal.{u1} R _inst_2) (Submodule.hasInf.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) I J)) (And (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I) (Membership.Mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.hasMem.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.setLike.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x J))
 but is expected to have type
-  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {I : Ideal.{u1} R _inst_2} {J : Ideal.{u1} R _inst_2} {x : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (HasInf.inf.{u1} (Ideal.{u1} R _inst_2) (Submodule.instHasInfSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) I J)) (And (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I) (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x J))
+  forall {R : Type.{u1}} [_inst_2 : Semiring.{u1} R] {I : Ideal.{u1} R _inst_2} {J : Ideal.{u1} R _inst_2} {x : R}, Iff (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x (Inf.inf.{u1} (Ideal.{u1} R _inst_2) (Submodule.instInfSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2)) I J)) (And (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x I) (Membership.mem.{u1, u1} R (Ideal.{u1} R _inst_2) (SetLike.instMembership.{u1, u1} (Ideal.{u1} R _inst_2) R (Submodule.instSetLikeSubmodule.{u1, u1} R R _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_2))) (Semiring.toModule.{u1} R _inst_2))) x J))
 Case conversion may be inaccurate. Consider using '#align ideal.mem_inf Ideal.mem_infₓ'. -/
 @[simp]
 theorem mem_inf {I J : Ideal R} {x : R} : x ∈ I ⊓ J ↔ x ∈ I ∧ x ∈ J :=
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Chris Hughes, Mario Carneiro
 
 ! This file was ported from Lean 3 source module ring_theory.ideal.basic
-! leanprover-community/mathlib commit 6010cf523816335f7bae7f8584cb2edaace73940
+! leanprover-community/mathlib commit 23aa88e32dcc9d2a24cca7bc23268567ed4cd7d6
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -20,6 +20,9 @@ import Mathbin.LinearAlgebra.Finsupp
 
 # Ideals over a ring
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file defines `ideal R`, the type of (left) ideals over a ring `R`.
 Note that over commutative rings, left ideals and two-sided ideals are equivalent.
 

Changes in mathlib4

mathlib3
mathlib4
feat: Add Ideal.associatesEquivIsPrincipal (#12241)

For R a domain, Define the equivalence between R/Rˣ and the principal ideals of R defined by sending the class of x to the principal ideal generated by x.

Diff
@@ -519,6 +519,25 @@ theorem span_singleton_eq_span_singleton {α : Type u} [CommRing α] [IsDomain 
   apply and_congr <;> rw [span_singleton_le_span_singleton]
 #align ideal.span_singleton_eq_span_singleton Ideal.span_singleton_eq_span_singleton
 
+/-- The equivalence between `Associates R` and the principal ideals of `R` defined by sending the
+class of `x` to the principal ideal generated by `x`. -/
+noncomputable def associatesEquivIsPrincipal (R : Type*) [CommRing R] [IsDomain R] :
+    Associates R ≃ {I : Ideal R // Submodule.IsPrincipal I} := by
+  refine Equiv.ofBijective (fun x ↦ ⟨Ideal.span {Quot.out x}, ⟨Quot.out x, rfl⟩⟩)
+    ⟨fun  _ _ h ↦ ?_, fun ⟨I, hI⟩ ↦ ?_⟩
+  · rw [Subtype.mk_eq_mk, span_singleton_eq_span_singleton] at h
+    exact Quotient.out_equiv_out.mp h
+  · obtain ⟨x, hx⟩ := hI
+    refine ⟨⟦x⟧, ?_⟩
+    rw [Subtype.mk_eq_mk, hx, submodule_span_eq, span_singleton_eq_span_singleton]
+    exact Associates.mk_quot_out x
+
+@[simp]
+theorem associatesEquivIsPrincipal_apply (R : Type*) [CommRing R] [IsDomain R] (x : R) :
+    associatesEquivIsPrincipal R ⟦x⟧ = Ideal.span {x} := by
+  rw [associatesEquivIsPrincipal, Equiv.ofBijective_apply, span_singleton_eq_span_singleton]
+  exact Associates.mk_quot_out x
+
 theorem span_singleton_mul_right_unit {a : α} (h2 : IsUnit a) (x : α) :
     span ({x * a} : Set α) = span {x} := by rw [mul_comm, span_singleton_mul_left_unit h2]
 #align ideal.span_singleton_mul_right_unit Ideal.span_singleton_mul_right_unit
chore: don't import Field in Algebra.Ring.Equiv (#11881)

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

Diff
@@ -6,6 +6,7 @@ Authors: Kenny Lau, Chris Hughes, Mario Carneiro
 import Mathlib.Tactic.FinCases
 import Mathlib.Data.Nat.Choose.Sum
 import Mathlib.LinearAlgebra.Finsupp
+import Mathlib.Algebra.Field.IsField
 
 #align_import ring_theory.ideal.basic from "leanprover-community/mathlib"@"dc6c365e751e34d100e80fe6e314c3c3e0fd2988"
 
chore: avoid Ne.def (adaptation for nightly-2024-03-27) (#11813)
Diff
@@ -273,7 +273,7 @@ theorem IsPrime.mem_of_pow_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ
 
 theorem not_isPrime_iff {I : Ideal α} :
     ¬I.IsPrime ↔ I = ⊤ ∨ ∃ (x : α) (_hx : x ∉ I) (y : α) (_hy : y ∉ I), x * y ∈ I := by
-  simp_rw [Ideal.isPrime_iff, not_and_or, Ne.def, Classical.not_not, not_forall, not_or]
+  simp_rw [Ideal.isPrime_iff, not_and_or, Ne, Classical.not_not, not_forall, not_or]
   exact
     or_congr Iff.rfl
       ⟨fun ⟨x, y, hxy, hx, hy⟩ => ⟨x, hx, y, hy, hxy⟩, fun ⟨x, hx, y, hy, hxy⟩ =>
@@ -829,7 +829,7 @@ theorem not_isField_iff_exists_ideal_bot_lt_and_lt_top [Nontrivial R] :
     obtain ⟨x, mem, ne_zero⟩ := SetLike.exists_of_lt bot_lt
     rw [Submodule.mem_bot] at ne_zero
     obtain ⟨y, hy⟩ := hf.mul_inv_cancel ne_zero
-    rw [lt_top_iff_ne_top, Ne.def, Ideal.eq_top_iff_one, ← hy] at lt_top
+    rw [lt_top_iff_ne_top, Ne, Ideal.eq_top_iff_one, ← hy] at lt_top
     exact lt_top (I.mul_mem_right _ mem)
 #align ring.not_is_field_iff_exists_ideal_bot_lt_and_lt_top Ring.not_isField_iff_exists_ideal_bot_lt_and_lt_top
 
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
@@ -578,6 +578,32 @@ theorem pow_mem_of_mem (ha : a ∈ I) (n : ℕ) (hn : 0 < n) : a ^ n ∈ I :=
     (fun m _hm => (pow_succ a m).symm ▸ I.mul_mem_left (a ^ m) ha) hn
 #align ideal.pow_mem_of_mem Ideal.pow_mem_of_mem
 
+theorem pow_mem_of_pow_mem {m n : ℕ} (ha : a ^ m ∈ I) (h : m ≤ n) : a ^ n ∈ I := by
+  rw [← Nat.add_sub_of_le h, pow_add]
+  exact I.mul_mem_right _ ha
+
+theorem add_pow_mem_of_pow_mem_of_le {m n k : ℕ}
+    (ha : a ^ m ∈ I) (hb : b ^ n ∈ I) (hk : m + n ≤ k + 1) :
+    (a + b) ^ k ∈ I := by
+  rw [add_pow]
+  apply I.sum_mem
+  intro c _
+  apply mul_mem_right
+  by_cases h : m ≤ c
+  · exact I.mul_mem_right _ (I.pow_mem_of_pow_mem ha h)
+  · refine I.mul_mem_left _ (I.pow_mem_of_pow_mem hb ?_)
+    simp only [not_le, Nat.lt_iff_add_one_le] at h
+    have hck : c ≤ k := by
+      rw [← add_le_add_iff_right 1]
+      exact le_trans h (le_trans (Nat.le_add_right _ _) hk)
+    rw [Nat.le_sub_iff_add_le hck, ← add_le_add_iff_right 1]
+    exact le_trans (by rwa [add_comm _ n, add_assoc, add_le_add_iff_left]) hk
+
+theorem add_pow_add_pred_mem_of_pow_mem  {m n : ℕ}
+    (ha : a ^ m ∈ I) (hb : b ^ n ∈ I) :
+    (a + b) ^ (m + n - 1) ∈ I :=
+  I.add_pow_mem_of_pow_mem_of_le ha hb <| by rw [← Nat.sub_le_iff_le_add]
+
 theorem IsPrime.mul_mem_iff_mem_or_mem {I : Ideal α} (hI : I.IsPrime) :
     ∀ {x y : α}, x * y ∈ I ↔ x ∈ I ∨ y ∈ I := @fun x y =>
   ⟨hI.mem_or_mem, by
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
@@ -268,7 +268,7 @@ theorem IsPrime.mem_of_pow_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ
   · rw [pow_zero] at H
     exact (mt (eq_top_iff_one _).2 hI.1).elim H
   · rw [pow_succ] at H
-    exact Or.casesOn (hI.mem_or_mem H) id ih
+    exact Or.casesOn (hI.mem_or_mem H) ih id
 #align ideal.is_prime.mem_of_pow_mem Ideal.IsPrime.mem_of_pow_mem
 
 theorem not_isPrime_iff {I : Ideal α} :
@@ -575,7 +575,7 @@ variable {b}
 
 theorem pow_mem_of_mem (ha : a ∈ I) (n : ℕ) (hn : 0 < n) : a ^ n ∈ I :=
   Nat.casesOn n (Not.elim (by decide))
-    (fun m _hm => (pow_succ a m).symm ▸ I.mul_mem_right (a ^ m) ha) hn
+    (fun m _hm => (pow_succ a m).symm ▸ I.mul_mem_left (a ^ m) ha) hn
 #align ideal.pow_mem_of_mem Ideal.pow_mem_of_mem
 
 theorem IsPrime.mul_mem_iff_mem_or_mem {I : Ideal α} (hI : I.IsPrime) :
chore: tidy various files (#11490)
Diff
@@ -234,7 +234,7 @@ theorem mem_span_singleton_sup {S : Type*} [CommSemiring S] {x y : S} {I : Ideal
 /-- The ideal generated by an arbitrary binary relation.
 -/
 def ofRel (r : α → α → Prop) : Ideal α :=
-  Submodule.span α { x | ∃ (a b : _) (_h : r a b), x + b = a }
+  Submodule.span α { x | ∃ a b, r a b ∧ x + b = a }
 #align ideal.of_rel Ideal.ofRel
 
 /-- An ideal `P` of a ring `R` is prime if `P ≠ R` and `xy ∈ P → x ∈ P ∨ y ∈ P` -/
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
@@ -41,6 +41,14 @@ def Ideal (R : Type u) [Semiring R] :=
   Submodule R R
 #align ideal Ideal
 
+/-- A ring is a principal ideal ring if all (left) ideals are principal. -/
+@[mk_iff]
+class IsPrincipalIdealRing (R : Type u) [Semiring R] : Prop where
+  principal : ∀ S : Ideal R, S.IsPrincipal
+#align is_principal_ideal_ring IsPrincipalIdealRing
+
+attribute [instance] IsPrincipalIdealRing.principal
+
 section Semiring
 
 namespace Ideal
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -399,7 +399,7 @@ section Lattice
 
 variable {R : Type u} [Semiring R]
 
--- porting note: is this the right approach? or is there a better way to prove? (next 4 decls)
+-- Porting note: is this the right approach? or is there a better way to prove? (next 4 decls)
 theorem mem_sup_left {S T : Ideal R} : ∀ {x : R}, x ∈ S → x ∈ S ⊔ T :=
   @le_sup_left _ _ S T
 #align ideal.mem_sup_left Ideal.mem_sup_left
@@ -421,17 +421,17 @@ theorem mem_sInf {s : Set (Ideal R)} {x : R} : x ∈ sInf s ↔ ∀ ⦃I⦄, I 
   ⟨fun hx I his => hx I ⟨I, iInf_pos his⟩, fun H _I ⟨_J, hij⟩ => hij ▸ fun _S ⟨hj, hS⟩ => hS ▸ H hj⟩
 #align ideal.mem_Inf Ideal.mem_sInf
 
-@[simp 1001] -- porting note: increased priority to appease `simpNF`
+@[simp 1001] -- Porting note: increased priority to appease `simpNF`
 theorem mem_inf {I J : Ideal R} {x : R} : x ∈ I ⊓ J ↔ x ∈ I ∧ x ∈ J :=
   Iff.rfl
 #align ideal.mem_inf Ideal.mem_inf
 
-@[simp 1001] -- porting note: increased priority to appease `simpNF`
+@[simp 1001] -- Porting note: increased priority to appease `simpNF`
 theorem mem_iInf {ι : Sort*} {I : ι → Ideal R} {x : R} : x ∈ iInf I ↔ ∀ i, x ∈ I i :=
   Submodule.mem_iInf _
 #align ideal.mem_infi Ideal.mem_iInf
 
-@[simp 1001] -- porting note: increased priority to appease `simpNF`
+@[simp 1001] -- Porting note: increased priority to appease `simpNF`
 theorem mem_bot {x : R} : x ∈ (⊥ : Ideal R) ↔ x = 0 :=
   Submodule.mem_bot _
 #align ideal.mem_bot Ideal.mem_bot
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
@@ -514,6 +514,7 @@ theorem span_singleton_mul_right_unit {a : α} (h2 : IsUnit a) (x : α) :
     span ({x * a} : Set α) = span {x} := by rw [mul_comm, span_singleton_mul_left_unit h2]
 #align ideal.span_singleton_mul_right_unit Ideal.span_singleton_mul_right_unit
 
+@[simp]
 theorem span_singleton_eq_top {x} : span ({x} : Set α) = ⊤ ↔ IsUnit x := by
   rw [isUnit_iff_dvd_one, ← span_singleton_le_span_singleton, span_singleton_one, eq_top_iff]
 #align ideal.span_singleton_eq_top Ideal.span_singleton_eq_top
chore: rename by_contra' to by_contra! (#8797)

To fit with the "please try harder" convention of ! tactics.

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

Diff
@@ -650,7 +650,7 @@ lemma isPrime_of_maximally_disjoint (I : Ideal α)
     have : 1 ∈ (S : Set α) := S.one_mem
     aesop
   mem_or_mem' {x y} hxy := by
-    by_contra' rid
+    by_contra! rid
     have hx := maximally_disjoint (I ⊔ span {x}) (Submodule.lt_sup_iff_not_mem.mpr rid.1)
     have hy := maximally_disjoint (I ⊔ span {y}) (Submodule.lt_sup_iff_not_mem.mpr rid.2)
     simp only [Set.not_disjoint_iff, mem_inter_iff, SetLike.mem_coe, Submodule.mem_sup,
chore: space after (#8178)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -844,7 +844,7 @@ theorem bot_lt_of_maximal (M : Ideal R) [hm : M.IsMaximal] (non_field : ¬IsFiel
   intro mle
   apply lt_irrefl (⊤ : Ideal R)
   have : M = ⊥ := eq_bot_iff.mpr mle
-  rw [←this] at Ibot
+  rw [← this] at Ibot
   rwa [hm.1.2 I Ibot] at Itop
 #align ideal.bot_lt_of_maximal Ideal.bot_lt_of_maximal
 
chore: generalised some results from ring to semiring (#8715)

Changed the hypothesis of some results from ring to semiring, without changing the proofs.

Co-authored-by: Xavier Xarles <56635243+XavierXarles@users.noreply.github.com>

Diff
@@ -276,7 +276,7 @@ theorem zero_ne_one_of_proper {I : Ideal α} (h : I ≠ ⊤) : (0 : α) ≠ 1 :=
   I.ne_top_iff_one.1 h <| hz ▸ I.zero_mem
 #align ideal.zero_ne_one_of_proper Ideal.zero_ne_one_of_proper
 
-theorem bot_prime {R : Type*} [Ring R] [IsDomain R] : (⊥ : Ideal R).IsPrime :=
+theorem bot_prime [IsDomain α] : (⊥ : Ideal α).IsPrime :=
   ⟨fun h => one_ne_zero (by rwa [Ideal.eq_top_iff_one, Submodule.mem_bot] at h), fun h =>
     mul_eq_zero.mp (by simpa only [Submodule.mem_bot] using h)⟩
 #align ideal.bot_prime Ideal.bot_prime
@@ -347,8 +347,8 @@ instance [Nontrivial α] : Nontrivial (Ideal α) := by
 
 /-- If P is not properly contained in any maximal ideal then it is not properly contained
   in any proper ideal -/
-theorem maximal_of_no_maximal {R : Type u} [Semiring R] {P : Ideal R}
-    (hmax : ∀ m : Ideal R, P < m → ¬IsMaximal m) (J : Ideal R) (hPJ : P < J) : J = ⊤ := by
+theorem maximal_of_no_maximal {P : Ideal α}
+    (hmax : ∀ m : Ideal α, P < m → ¬IsMaximal m) (J : Ideal α) (hPJ : P < J) : J = ⊤ := by
   by_contra hnonmax
   rcases exists_le_maximal J hnonmax with ⟨M, hM1, hM2⟩
   exact hmax M (lt_of_lt_of_le hPJ hM2) hM1
@@ -542,14 +542,14 @@ instance (priority := 100) IsMaximal.isPrime' (I : Ideal α) : ∀ [_H : I.IsMax
   @IsMaximal.isPrime _ _ _
 #align ideal.is_maximal.is_prime' Ideal.IsMaximal.isPrime'
 
-theorem span_singleton_lt_span_singleton [CommRing β] [IsDomain β] {x y : β} :
-    span ({x} : Set β) < span ({y} : Set β) ↔ DvdNotUnit y x := by
+theorem span_singleton_lt_span_singleton [IsDomain α] {x y : α} :
+    span ({x} : Set α) < span ({y} : Set α) ↔ DvdNotUnit y x := by
   rw [lt_iff_le_not_le, span_singleton_le_span_singleton, span_singleton_le_span_singleton,
     dvd_and_not_dvd_iff]
 #align ideal.span_singleton_lt_span_singleton Ideal.span_singleton_lt_span_singleton
 
-theorem factors_decreasing [CommRing β] [IsDomain β] (b₁ b₂ : β) (h₁ : b₁ ≠ 0) (h₂ : ¬IsUnit b₂) :
-    span ({b₁ * b₂} : Set β) < span {b₁} :=
+theorem factors_decreasing [IsDomain α] (b₁ b₂ : α) (h₁ : b₁ ≠ 0) (h₂ : ¬IsUnit b₂) :
+    span ({b₁ * b₂} : Set α) < span {b₁} :=
   lt_of_le_not_le
     (Ideal.span_le.2 <| singleton_subset_iff.2 <| Ideal.mem_span_singleton.2 ⟨b₂, rfl⟩) fun h =>
     h₂ <| isUnit_of_dvd_one <|
@@ -836,7 +836,7 @@ end Ring
 
 namespace Ideal
 
-variable {R : Type u} [CommRing R] [Nontrivial R]
+variable {R : Type u} [CommSemiring R] [Nontrivial R]
 
 theorem bot_lt_of_maximal (M : Ideal R) [hm : M.IsMaximal] (non_field : ¬IsField R) : ⊥ < M := by
   rcases Ring.not_isField_iff_exists_ideal_bot_lt_and_lt_top.1 non_field with ⟨I, Ibot, Itop⟩
feat: if a Lie algebra has non-degenerate Killing form then its Cartan subalgebras are Abelian (#8430)

Note: the proof (due to Zassenhaus) makes no assumption about the characteristic of the coefficients.

Diff
@@ -3,6 +3,7 @@ Copyright (c) 2018 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Chris Hughes, Mario Carneiro
 -/
+import Mathlib.Tactic.FinCases
 import Mathlib.Data.Nat.Choose.Sum
 import Mathlib.LinearAlgebra.Finsupp
 
@@ -722,6 +723,17 @@ theorem eq_bot_or_top : I = ⊥ ∨ I = ⊤ := by
   simpa [H, h1] using I.mul_mem_left r⁻¹ hr
 #align ideal.eq_bot_or_top Ideal.eq_bot_or_top
 
+variable (K) in
+/-- A bijection between between (left) ideals of a division ring and `{0, 1}`, sending `⊥` to `0`
+and `⊤` to `1`. -/
+def equivFinTwo [DecidableEq (Ideal K)] : Ideal K ≃ Fin 2 where
+  toFun := fun I ↦ if I = ⊥ then 0 else 1
+  invFun := ![⊥, ⊤]
+  left_inv := fun I ↦ by rcases eq_bot_or_top I with rfl | rfl <;> simp
+  right_inv := fun i ↦ by fin_cases i <;> simp
+
+instance : Finite (Ideal K) := let _i := Classical.decEq (Ideal K); ⟨equivFinTwo K⟩
+
 /-- Ideals of a `DivisionSemiring` are a simple order. Thanks to the way abbreviations work,
 this automatically gives an `IsSimpleModule K` instance. -/
 instance isSimpleOrder : IsSimpleOrder (Ideal K) :=
feat(RingTheory/Ideal/Basic): an ideal is prime if it is maximally disjoint from a submonoid (#7460)
Diff
@@ -639,6 +639,30 @@ theorem span_pow_eq_top (s : Set α) (hs : span s = ⊤) (n : ℕ) :
   exact ⟨f x ^ (n + 1), mul_comm _ _⟩
 #align ideal.span_pow_eq_top Ideal.span_pow_eq_top
 
+lemma isPrime_of_maximally_disjoint (I : Ideal α)
+    (S : Submonoid α)
+    (disjoint : Disjoint (I : Set α) S)
+    (maximally_disjoint : ∀ (J : Ideal α), I < J → ¬ Disjoint (J : Set α) S) :
+    I.IsPrime where
+  ne_top' := by
+    rintro rfl
+    have : 1 ∈ (S : Set α) := S.one_mem
+    aesop
+  mem_or_mem' {x y} hxy := by
+    by_contra' rid
+    have hx := maximally_disjoint (I ⊔ span {x}) (Submodule.lt_sup_iff_not_mem.mpr rid.1)
+    have hy := maximally_disjoint (I ⊔ span {y}) (Submodule.lt_sup_iff_not_mem.mpr rid.2)
+    simp only [Set.not_disjoint_iff, mem_inter_iff, SetLike.mem_coe, Submodule.mem_sup,
+      mem_span_singleton] at hx hy
+    obtain ⟨s₁, ⟨i₁, hi₁, ⟨_, ⟨r₁, rfl⟩, hr₁⟩⟩, hs₁⟩ := hx
+    obtain ⟨s₂, ⟨i₂, hi₂, ⟨_, ⟨r₂, rfl⟩, hr₂⟩⟩, hs₂⟩ := hy
+    refine disjoint.ne_of_mem
+      (I.add_mem (I.mul_mem_left (i₁ + x * r₁) hi₂) <| I.add_mem (I.mul_mem_right (y * r₂) hi₁) <|
+        I.mul_mem_right (r₁ * r₂) hxy)
+      (S.mul_mem hs₁ hs₂) ?_
+    rw [← hr₁, ← hr₂]
+    ring
+
 end Ideal
 
 end CommSemiring
chore: redistribute some of the results in LinearAlgebra.Basic (#7801)

This reduces the file from ~2600 lines to ~1600 lines.

Co-authored-by: Vierkantor <vierkantor@vierkantor.com> Co-authored-by: Floris van Doorn <fpvdoorn@gmail.com>

Diff
@@ -3,10 +3,6 @@ Copyright (c) 2018 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Chris Hughes, Mario Carneiro
 -/
-import Mathlib.Algebra.Associated
-import Mathlib.LinearAlgebra.Basic
-import Mathlib.Order.Atoms
-import Mathlib.Tactic.Abel
 import Mathlib.Data.Nat.Choose.Sum
 import Mathlib.LinearAlgebra.Finsupp
 
feat: some golfing in AlgebraicGeometry.PrimeSpectrum.Basic (#7373)
Diff
@@ -6,7 +6,6 @@ Authors: Kenny Lau, Chris Hughes, Mario Carneiro
 import Mathlib.Algebra.Associated
 import Mathlib.LinearAlgebra.Basic
 import Mathlib.Order.Atoms
-import Mathlib.Order.CompactlyGenerated
 import Mathlib.Tactic.Abel
 import Mathlib.Data.Nat.Choose.Sum
 import Mathlib.LinearAlgebra.Finsupp
@@ -160,6 +159,9 @@ theorem span_singleton_one : span ({1} : Set α) = ⊤ :=
   (eq_top_iff_one _).2 <| subset_span <| mem_singleton _
 #align ideal.span_singleton_one Ideal.span_singleton_one
 
+theorem isCompactElement_top : CompleteLattice.IsCompactElement (⊤ : Ideal α) := by
+  simpa only [← span_singleton_one] using Submodule.singleton_span_isCompactElement 1
+
 theorem mem_span_insert {s : Set α} {x y} :
     x ∈ span (insert y s) ↔ ∃ a, ∃ z ∈ span s, x = a * y + z :=
   Submodule.mem_span_insert
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
@@ -72,7 +72,7 @@ theorem ext {I J : Ideal α} (h : ∀ x, x ∈ I ↔ x ∈ J) : I = J :=
   Submodule.ext h
 #align ideal.ext Ideal.ext
 
-theorem sum_mem (I : Ideal α) {ι : Type _} {t : Finset ι} {f : ι → α} :
+theorem sum_mem (I : Ideal α) {ι : Type*} {t : Finset ι} {f : ι → α} :
     (∀ c ∈ t, f c ∈ I) → (∑ i in t, f i) ∈ I :=
   Submodule.sum_mem I
 #align ideal.sum_mem Ideal.sum_mem
@@ -192,7 +192,7 @@ theorem span_singleton_eq_bot {x} : span ({x} : Set α) = ⊥ ↔ x = 0 :=
   Submodule.span_singleton_eq_bot
 #align ideal.span_singleton_eq_bot Ideal.span_singleton_eq_bot
 
-theorem span_singleton_ne_top {α : Type _} [CommSemiring α] {x : α} (hx : ¬IsUnit x) :
+theorem span_singleton_ne_top {α : Type*} [CommSemiring α] {x : α} (hx : ¬IsUnit x) :
     Ideal.span ({x} : Set α) ≠ ⊤ :=
   (Ideal.ne_top_iff_one _).mpr fun h1 =>
     let ⟨y, hy⟩ := Ideal.mem_span_singleton'.mp h1
@@ -213,7 +213,7 @@ theorem span_eq_top_iff_finite (s : Set α) :
   exact ⟨Submodule.mem_span_finite_of_mem_span, fun ⟨s', h₁, h₂⟩ => span_mono h₁ h₂⟩
 #align ideal.span_eq_top_iff_finite Ideal.span_eq_top_iff_finite
 
-theorem mem_span_singleton_sup {S : Type _} [CommSemiring S] {x y : S} {I : Ideal S} :
+theorem mem_span_singleton_sup {S : Type*} [CommSemiring S] {x y : S} {I : Ideal S} :
     x ∈ Ideal.span {y} ⊔ I ↔ ∃ a : S, ∃ b ∈ I, a * y + b = x := by
   rw [Submodule.mem_sup]
   constructor
@@ -277,7 +277,7 @@ theorem zero_ne_one_of_proper {I : Ideal α} (h : I ≠ ⊤) : (0 : α) ≠ 1 :=
   I.ne_top_iff_one.1 h <| hz ▸ I.zero_mem
 #align ideal.zero_ne_one_of_proper Ideal.zero_ne_one_of_proper
 
-theorem bot_prime {R : Type _} [Ring R] [IsDomain R] : (⊥ : Ideal R).IsPrime :=
+theorem bot_prime {R : Type*} [Ring R] [IsDomain R] : (⊥ : Ideal R).IsPrime :=
   ⟨fun h => one_ne_zero (by rwa [Ideal.eq_top_iff_one, Submodule.mem_bot] at h), fun h =>
     mul_eq_zero.mp (by simpa only [Submodule.mem_bot] using h)⟩
 #align ideal.bot_prime Ideal.bot_prime
@@ -409,7 +409,7 @@ theorem mem_sup_right {S T : Ideal R} : ∀ {x : R}, x ∈ T → x ∈ S ⊔ T :
   @le_sup_right _ _ S T
 #align ideal.mem_sup_right Ideal.mem_sup_right
 
-theorem mem_iSup_of_mem {ι : Sort _} {S : ι → Ideal R} (i : ι) : ∀ {x : R}, x ∈ S i → x ∈ iSup S :=
+theorem mem_iSup_of_mem {ι : Sort*} {S : ι → Ideal R} (i : ι) : ∀ {x : R}, x ∈ S i → x ∈ iSup S :=
   @le_iSup _ _ _ S _
 #align ideal.mem_supr_of_mem Ideal.mem_iSup_of_mem
 
@@ -428,7 +428,7 @@ theorem mem_inf {I J : Ideal R} {x : R} : x ∈ I ⊓ J ↔ x ∈ I ∧ x ∈ J
 #align ideal.mem_inf Ideal.mem_inf
 
 @[simp 1001] -- porting note: increased priority to appease `simpNF`
-theorem mem_iInf {ι : Sort _} {I : ι → Ideal R} {x : R} : x ∈ iInf I ↔ ∀ i, x ∈ I i :=
+theorem mem_iInf {ι : Sort*} {I : ι → Ideal R} {x : R} : x ∈ iInf I ↔ ∀ i, x ∈ I i :=
   Submodule.mem_iInf _
 #align ideal.mem_infi Ideal.mem_iInf
 
@@ -723,7 +723,7 @@ section CommRing
 
 namespace Ideal
 
-theorem mul_sub_mul_mem {R : Type _} [CommRing R] (I : Ideal R) {a b c d : R} (h1 : a - b ∈ I)
+theorem mul_sub_mul_mem {R : Type*} [CommRing R] (I : Ideal R) {a b c d : R} (h1 : a - b ∈ I)
     (h2 : c - d ∈ I) : a * c - b * d ∈ I := by
   rw [show a * c - b * d = (a - b) * c + b * (c - d) by rw [sub_mul, mul_sub]; abel]
   exact I.add_mem (I.mul_mem_right _ h1) (I.mul_mem_left _ h2)
@@ -737,7 +737,7 @@ end CommRing
 -- about `CommSemiring`s.
 namespace Ring
 
-variable {R : Type _} [CommSemiring R]
+variable {R : Type*} [CommSemiring R]
 
 theorem exists_not_isUnit_of_not_isField [Nontrivial R] (hf : ¬IsField R) :
     ∃ (x : R) (_hx : x ≠ (0 : R)), ¬IsUnit x := by
fix: make an ideal lemma more constructive (#6080)

This generalizes Ideal.pow_multiset_sum_mem_span_pow away from Classical.decEq.

Diff
@@ -36,7 +36,7 @@ variable {α : Type u} {β : Type v}
 
 open Set Function
 
-open Classical BigOperators Pointwise
+open BigOperators Pointwise
 
 /-- A (left) ideal in a semiring `R` is an additive submonoid `s` such that
 `a * b ∈ s` whenever `b ∈ s`. If `R` is a ring, then `s` is an additive subgroup.  -/
@@ -582,7 +582,8 @@ theorem IsPrime.pow_mem_iff_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : 
   ⟨hI.mem_of_pow_mem n, fun hr => I.pow_mem_of_mem hr n hn⟩
 #align ideal.is_prime.pow_mem_iff_mem Ideal.IsPrime.pow_mem_iff_mem
 
-theorem pow_multiset_sum_mem_span_pow (s : Multiset α) (n : ℕ) : s.sum ^ (Multiset.card s * n + 1) ∈
+theorem pow_multiset_sum_mem_span_pow [DecidableEq α] (s : Multiset α) (n : ℕ) :
+    s.sum ^ (Multiset.card s * n + 1) ∈
     span ((s.map fun (x:α) ↦ x ^ (n + 1)).toFinset : Set α) := by
   induction' s using Multiset.induction_on with a s hs
   · simp
@@ -610,6 +611,7 @@ theorem pow_multiset_sum_mem_span_pow (s : Multiset α) (n : ℕ) : s.sum ^ (Mul
 
 theorem sum_pow_mem_span_pow {ι} (s : Finset ι) (f : ι → α) (n : ℕ) :
     (∑ i in s, f i) ^ (s.card * n + 1) ∈ span ((fun i => f i ^ (n + 1)) '' s) := by
+  classical
   simpa only [Multiset.card_map, Multiset.map_map, comp_apply, Multiset.toFinset_map,
     Finset.coe_image, Finset.val_toFinset] using pow_multiset_sum_mem_span_pow (s.1.map f) n
 #align ideal.sum_pow_mem_span_pow Ideal.sum_pow_mem_span_pow
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2018 Kenny Lau. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Kenny Lau, Chris Hughes, Mario Carneiro
-
-! This file was ported from Lean 3 source module ring_theory.ideal.basic
-! leanprover-community/mathlib commit dc6c365e751e34d100e80fe6e314c3c3e0fd2988
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.Associated
 import Mathlib.LinearAlgebra.Basic
@@ -16,6 +11,8 @@ import Mathlib.Tactic.Abel
 import Mathlib.Data.Nat.Choose.Sum
 import Mathlib.LinearAlgebra.Finsupp
 
+#align_import ring_theory.ideal.basic from "leanprover-community/mathlib"@"dc6c365e751e34d100e80fe6e314c3c3e0fd2988"
+
 /-!
 
 # Ideals over a ring
chore: fix focusing dots (#5708)

This PR is the result of running

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

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

Diff
@@ -780,8 +780,7 @@ division (semi)ring.
 This result actually holds for all division semirings, but we lack the predicate to state it. -/
 theorem isField_iff_isSimpleOrder_ideal : IsField R ↔ IsSimpleOrder (Ideal R) := by
   cases subsingleton_or_nontrivial R
-  ·
-    exact
+  · exact
       ⟨fun h => (not_isField_of_subsingleton _ h).elim, fun h =>
         (false_of_nontrivial_of_subsingleton <| Ideal R).elim⟩
   rw [← not_iff_not, Ring.not_isField_iff_exists_ideal_bot_lt_and_lt_top, ← not_iff_not]
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
@@ -467,8 +467,8 @@ theorem sInf_isPrime_of_isChain {s : Set (Ideal α)} (hs : s.Nonempty) (hs' : Is
     (H x hx).ne_top (eq_top_iff.mpr (e.symm.trans_le (sInf_le hx))),
     fun e =>
     or_iff_not_imp_left.mpr fun hx => by
-      rw [Ideal.mem_sInf] at hx e⊢
-      push_neg  at hx
+      rw [Ideal.mem_sInf] at hx e ⊢
+      push_neg at hx
       obtain ⟨I, hI, hI'⟩ := hx
       intro J hJ
       cases' hs'.total hI hJ with h h
@@ -744,7 +744,7 @@ theorem exists_not_isUnit_of_not_isField [Nontrivial R] (hf : ¬IsField R) :
     ∃ (x : R) (_hx : x ≠ (0 : R)), ¬IsUnit x := by
   have : ¬_ := fun h => hf ⟨exists_pair_ne R, mul_comm, h⟩
   simp_rw [isUnit_iff_exists_inv]
-  push_neg  at this⊢
+  push_neg at this ⊢
   obtain ⟨x, hx, not_unit⟩ := this
   exact ⟨x, hx, not_unit⟩
 #align ring.exists_not_is_unit_of_not_is_field Ring.exists_not_isUnit_of_not_isField
chore: fix grammar 3/3 (#5003)

Part 3 of #5001

Diff
@@ -702,7 +702,7 @@ theorem eq_bot_or_top : I = ⊥ ∨ I = ⊤ := by
 #align ideal.eq_bot_or_top Ideal.eq_bot_or_top
 
 /-- Ideals of a `DivisionSemiring` are a simple order. Thanks to the way abbreviations work,
-this automatically gives a `IsSimpleModule K` instance. -/
+this automatically gives an `IsSimpleModule K` instance. -/
 instance isSimpleOrder : IsSimpleOrder (Ideal K) :=
   ⟨eq_bot_or_top⟩
 #align ideal.is_simple_order Ideal.isSimpleOrder
chore: formatting issues (#4947)

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

Diff
@@ -230,7 +230,7 @@ theorem mem_span_singleton_sup {S : Type _} [CommSemiring S] {x y : S} {I : Idea
 /-- The ideal generated by an arbitrary binary relation.
 -/
 def ofRel (r : α → α → Prop) : Ideal α :=
-  Submodule.span α { x | ∃ (a b : _)(_h : r a b), x + b = a }
+  Submodule.span α { x | ∃ (a b : _) (_h : r a b), x + b = a }
 #align ideal.of_rel Ideal.ofRel
 
 /-- An ideal `P` of a ring `R` is prime if `P ≠ R` and `xy ∈ P → x ∈ P ∨ y ∈ P` -/
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
@@ -179,7 +179,7 @@ theorem span_singleton_le_iff_mem {x : α} : span {x} ≤ I ↔ x ∈ I :=
 theorem span_singleton_mul_left_unit {a : α} (h2 : IsUnit a) (x : α) :
     span ({a * x} : Set α) = span {x} := by
   apply le_antisymm <;> rw [span_singleton_le_iff_mem, mem_span_singleton']
-  exacts[⟨a, rfl⟩, ⟨_, h2.unit.inv_mul_cancel_left x⟩]
+  exacts [⟨a, rfl⟩, ⟨_, h2.unit.inv_mul_cancel_left x⟩]
 #align ideal.span_singleton_mul_left_unit Ideal.span_singleton_mul_left_unit
 
 theorem span_insert (x) (s : Set α) : span (insert x s) = span ({x} : Set α) ⊔ span s :=
@@ -577,7 +577,7 @@ theorem IsPrime.mul_mem_iff_mem_or_mem {I : Ideal α} (hI : I.IsPrime) :
     ∀ {x y : α}, x * y ∈ I ↔ x ∈ I ∨ y ∈ I := @fun x y =>
   ⟨hI.mem_or_mem, by
     rintro (h | h)
-    exacts[I.mul_mem_right y h, I.mul_mem_left x h]⟩
+    exacts [I.mul_mem_right y h, I.mul_mem_left x h]⟩
 #align ideal.is_prime.mul_mem_iff_mem_or_mem Ideal.IsPrime.mul_mem_iff_mem_or_mem
 
 theorem IsPrime.pow_mem_iff_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : ℕ) (hn : 0 < n) :
chore: delete 2074 references (#4030)
Diff
@@ -668,11 +668,8 @@ protected theorem sub_mem : a ∈ I → b ∈ I → a - b ∈ I :=
   Submodule.sub_mem I
 #align ideal.sub_mem Ideal.sub_mem
 
-example : Module α α := Semiring.toModule
-
 theorem mem_span_insert' {s : Set α} {x y} : x ∈ span (insert y s) ↔ ∃ a, x + a * y ∈ span s :=
-  @Submodule.mem_span_insert' α α _ _ Semiring.toModule _ _ _
--- porting note: Lean 4 issue #2074: Lean can't infer `Module R R` from `Ring R` on its own.
+  Submodule.mem_span_insert'
 #align ideal.mem_span_insert' Ideal.mem_span_insert'
 
 @[simp]
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
@@ -133,12 +133,12 @@ theorem span_union (s t : Set α) : span (s ∪ t) = span s ⊔ span t :=
   Submodule.span_union _ _
 #align ideal.span_union Ideal.span_union
 
-theorem span_unionᵢ {ι} (s : ι → Set α) : span (⋃ i, s i) = ⨆ i, span (s i) :=
-  Submodule.span_unionᵢ _
-#align ideal.span_Union Ideal.span_unionᵢ
+theorem span_iUnion {ι} (s : ι → Set α) : span (⋃ i, s i) = ⨆ i, span (s i) :=
+  Submodule.span_iUnion _
+#align ideal.span_Union Ideal.span_iUnion
 
 theorem mem_span {s : Set α} (x) : x ∈ span s ↔ ∀ p : Ideal α, s ⊆ p → x ∈ p :=
-  mem_interᵢ₂
+  mem_iInter₂
 #align ideal.mem_span Ideal.mem_span
 
 theorem subset_span {s : Set α} : s ⊆ span s :=
@@ -412,18 +412,18 @@ theorem mem_sup_right {S T : Ideal R} : ∀ {x : R}, x ∈ T → x ∈ S ⊔ T :
   @le_sup_right _ _ S T
 #align ideal.mem_sup_right Ideal.mem_sup_right
 
-theorem mem_supᵢ_of_mem {ι : Sort _} {S : ι → Ideal R} (i : ι) : ∀ {x : R}, x ∈ S i → x ∈ supᵢ S :=
-  @le_supᵢ _ _ _ S _
-#align ideal.mem_supr_of_mem Ideal.mem_supᵢ_of_mem
+theorem mem_iSup_of_mem {ι : Sort _} {S : ι → Ideal R} (i : ι) : ∀ {x : R}, x ∈ S i → x ∈ iSup S :=
+  @le_iSup _ _ _ S _
+#align ideal.mem_supr_of_mem Ideal.mem_iSup_of_mem
 
-theorem mem_supₛ_of_mem {S : Set (Ideal R)} {s : Ideal R} (hs : s ∈ S) :
-    ∀ {x : R}, x ∈ s → x ∈ supₛ S :=
-  @le_supₛ _ _ _ _ hs
-#align ideal.mem_Sup_of_mem Ideal.mem_supₛ_of_mem
+theorem mem_sSup_of_mem {S : Set (Ideal R)} {s : Ideal R} (hs : s ∈ S) :
+    ∀ {x : R}, x ∈ s → x ∈ sSup S :=
+  @le_sSup _ _ _ _ hs
+#align ideal.mem_Sup_of_mem Ideal.mem_sSup_of_mem
 
-theorem mem_infₛ {s : Set (Ideal R)} {x : R} : x ∈ infₛ s ↔ ∀ ⦃I⦄, I ∈ s → x ∈ I :=
-  ⟨fun hx I his => hx I ⟨I, infᵢ_pos his⟩, fun H _I ⟨_J, hij⟩ => hij ▸ fun _S ⟨hj, hS⟩ => hS ▸ H hj⟩
-#align ideal.mem_Inf Ideal.mem_infₛ
+theorem mem_sInf {s : Set (Ideal R)} {x : R} : x ∈ sInf s ↔ ∀ ⦃I⦄, I ∈ s → x ∈ I :=
+  ⟨fun hx I his => hx I ⟨I, iInf_pos his⟩, fun H _I ⟨_J, hij⟩ => hij ▸ fun _S ⟨hj, hS⟩ => hS ▸ H hj⟩
+#align ideal.mem_Inf Ideal.mem_sInf
 
 @[simp 1001] -- porting note: increased priority to appease `simpNF`
 theorem mem_inf {I J : Ideal R} {x : R} : x ∈ I ⊓ J ↔ x ∈ I ∧ x ∈ J :=
@@ -431,9 +431,9 @@ theorem mem_inf {I J : Ideal R} {x : R} : x ∈ I ⊓ J ↔ x ∈ I ∧ x ∈ J
 #align ideal.mem_inf Ideal.mem_inf
 
 @[simp 1001] -- porting note: increased priority to appease `simpNF`
-theorem mem_infᵢ {ι : Sort _} {I : ι → Ideal R} {x : R} : x ∈ infᵢ I ↔ ∀ i, x ∈ I i :=
-  Submodule.mem_infᵢ _
-#align ideal.mem_infi Ideal.mem_infᵢ
+theorem mem_iInf {ι : Sort _} {I : ι → Ideal R} {x : R} : x ∈ iInf I ↔ ∀ i, x ∈ I i :=
+  Submodule.mem_iInf _
+#align ideal.mem_infi Ideal.mem_iInf
 
 @[simp 1001] -- porting note: increased priority to appease `simpNF`
 theorem mem_bot {x : R} : x ∈ (⊥ : Ideal R) ↔ x = 0 :=
@@ -460,21 +460,21 @@ theorem mem_pi (x : ι → α) : x ∈ I.pi ι ↔ ∀ i, x i ∈ I :=
 
 end Pi
 
-theorem infₛ_isPrime_of_isChain {s : Set (Ideal α)} (hs : s.Nonempty) (hs' : IsChain (· ≤ ·) s)
-    (H : ∀ p ∈ s, Ideal.IsPrime p) : (infₛ s).IsPrime :=
+theorem sInf_isPrime_of_isChain {s : Set (Ideal α)} (hs : s.Nonempty) (hs' : IsChain (· ≤ ·) s)
+    (H : ∀ p ∈ s, Ideal.IsPrime p) : (sInf s).IsPrime :=
   ⟨fun e =>
     let ⟨x, hx⟩ := hs
-    (H x hx).ne_top (eq_top_iff.mpr (e.symm.trans_le (infₛ_le hx))),
+    (H x hx).ne_top (eq_top_iff.mpr (e.symm.trans_le (sInf_le hx))),
     fun e =>
     or_iff_not_imp_left.mpr fun hx => by
-      rw [Ideal.mem_infₛ] at hx e⊢
+      rw [Ideal.mem_sInf] at hx e⊢
       push_neg  at hx
       obtain ⟨I, hI, hI'⟩ := hx
       intro J hJ
       cases' hs'.total hI hJ with h h
       · exact h (((H I hI).mem_or_mem (e hI)).resolve_left hI')
       · exact ((H J hJ).mem_or_mem (e hJ)).resolve_left fun x => hI' <| h x⟩
-#align ideal.Inf_is_prime_of_is_chain Ideal.infₛ_isPrime_of_isChain
+#align ideal.Inf_is_prime_of_is_chain Ideal.sInf_isPrime_of_isChain
 
 end Ideal
 
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
@@ -466,8 +466,7 @@ theorem infₛ_isPrime_of_isChain {s : Set (Ideal α)} (hs : s.Nonempty) (hs' :
     let ⟨x, hx⟩ := hs
     (H x hx).ne_top (eq_top_iff.mpr (e.symm.trans_le (infₛ_le hx))),
     fun e =>
-    or_iff_not_imp_left.mpr fun hx =>
-      by
+    or_iff_not_imp_left.mpr fun hx => by
       rw [Ideal.mem_infₛ] at hx e⊢
       push_neg  at hx
       obtain ⟨I, hI, hI'⟩ := hx
@@ -529,8 +528,7 @@ theorem span_singleton_prime {p : α} (hp : p ≠ 0) : IsPrime (span ({p} : Set
 
 theorem IsMaximal.isPrime {I : Ideal α} (H : I.IsMaximal) : I.IsPrime :=
   ⟨H.1.1, @fun x y hxy =>
-    or_iff_not_imp_left.2 fun hx =>
-      by
+    or_iff_not_imp_left.2 fun hx => by
       let J : Ideal α := Submodule.span α (insert x ↑I)
       have IJ : I ≤ J := Set.Subset.trans (subset_insert _ _) subset_span
       have xJ : x ∈ J := Ideal.subset_span (Set.mem_insert x I)
@@ -587,9 +585,8 @@ theorem IsPrime.pow_mem_iff_mem {I : Ideal α} (hI : I.IsPrime) {r : α} (n : 
   ⟨hI.mem_of_pow_mem n, fun hr => I.pow_mem_of_mem hr n hn⟩
 #align ideal.is_prime.pow_mem_iff_mem Ideal.IsPrime.pow_mem_iff_mem
 
-theorem pow_multiset_sum_mem_span_pow (s : Multiset α) (n : ℕ) :
-    s.sum ^ (Multiset.card s * n + 1) ∈ span ((s.map fun (x:α) ↦ x ^ (n + 1)).toFinset : Set α) :=
-  by
+theorem pow_multiset_sum_mem_span_pow (s : Multiset α) (n : ℕ) : s.sum ^ (Multiset.card s * n + 1) ∈
+    span ((s.map fun (x:α) ↦ x ^ (n + 1)).toFinset : Set α) := by
   induction' s using Multiset.induction_on with a s hs
   · simp
   simp only [Finset.coe_insert, Multiset.map_cons, Multiset.toFinset_cons, Multiset.sum_cons,
@@ -621,8 +618,7 @@ theorem sum_pow_mem_span_pow {ι} (s : Finset ι) (f : ι → α) (n : ℕ) :
 #align ideal.sum_pow_mem_span_pow Ideal.sum_pow_mem_span_pow
 
 theorem span_pow_eq_top (s : Set α) (hs : span s = ⊤) (n : ℕ) :
-    span ((fun (x : α) => x ^ n) '' s) = ⊤ :=
-  by
+    span ((fun (x : α) => x ^ n) '' s) = ⊤ := by
   rw [eq_top_iff_one]
   cases' n with n
   · obtain rfl | ⟨x, hx⟩ := eq_empty_or_nonempty s
@@ -733,10 +729,7 @@ namespace Ideal
 
 theorem mul_sub_mul_mem {R : Type _} [CommRing R] (I : Ideal R) {a b c d : R} (h1 : a - b ∈ I)
     (h2 : c - d ∈ I) : a * c - b * d ∈ I := by
-  rw [show a * c - b * d = (a - b) * c + b * (c - d)
-      by
-      rw [sub_mul, mul_sub]
-      abel]
+  rw [show a * c - b * d = (a - b) * c + b * (c - d) by rw [sub_mul, mul_sub]; abel]
   exact I.add_mem (I.mul_mem_right _ h1) (I.mul_mem_left _ h2)
 #align ideal.mul_sub_mul_mem Ideal.mul_sub_mul_mem
 
Diff
@@ -636,7 +636,7 @@ theorem span_pow_eq_top (s : Set α) (hs : span s = ⊤) (n : ℕ) :
   rw [hf, one_pow] at this
   refine' span_le.mpr _ this
   rintro _ hx
-  simp_rw [Finset.mem_coe, Set.mem_image] at hx
+  simp_rw [Set.mem_image] at hx
   rcases hx with ⟨x, _, rfl⟩
   have : span ({(x:α) ^ (n + 1)} : Set α) ≤ span ((fun x : α => x ^ (n + 1)) '' s) := by
     rw [span_le, Set.singleton_subset_iff]
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
@@ -86,7 +86,6 @@ theorem eq_top_of_unit_mem (x y : α) (hx : x ∈ I) (h : y * x = 1) : I = ⊤ :
       z = z * (y * x) := by simp [h]
       _ = z * y * x := Eq.symm <| mul_assoc z y x
       _ ∈ I := I.mul_mem_left _ hx
-
 #align ideal.eq_top_of_unit_mem Ideal.eq_top_of_unit_mem
 
 theorem eq_top_of_isUnit_mem {x} (hx : x ∈ I) (h : IsUnit x) : I = ⊤ :=
feat: port RingTheory.Ideal.Basic (#2283)

This only needs the dependency below in one place (otherwise LinearAlgebra.Span suffices as a replacement import). This file is done otherwise.

porting notes:

  1. to appease the simpNF linter, I increased the priority of a few simp lemmas
  2. The lean 4 issue 2074 appeared in (only one!) place in this file. I worked around it for now and left a note.

Co-authored-by: Johan Commelin <johan@commelin.net>

Dependencies 8 + 365

366 files ported (97.9%)
152269 lines ported (98.0%)
Show graph

The unported dependencies are