algebra.module.submodule.latticeMathlib.Algebra.Module.Submodule.Lattice

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov
 -/
 import Algebra.Module.Submodule.Basic
-import Algebra.PunitInstances
+import Algebra.PUnitInstances
 
 #align_import algebra.module.submodule.lattice from "leanprover-community/mathlib"@"68d1483e8a718ec63219f0e227ca3f0140361086"
 
Diff
@@ -123,7 +123,7 @@ protected theorem bot_ext (x y : (⊥ : Submodule R M)) : x = y :=
 
 #print Submodule.ne_bot_iff /-
 protected theorem ne_bot_iff (p : Submodule R M) : p ≠ ⊥ ↔ ∃ x ∈ p, x ≠ (0 : M) := by
-  haveI := Classical.propDecidable; simp_rw [Ne.def, p.eq_bot_iff, not_forall]
+  haveI := Classical.propDecidable; simp_rw [Ne.def, p.eq_bot_iff, Classical.not_forall]
 #align submodule.ne_bot_iff Submodule.ne_bot_iff
 -/
 
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov
 -/
-import Mathbin.Algebra.Module.Submodule.Basic
-import Mathbin.Algebra.PunitInstances
+import Algebra.Module.Submodule.Basic
+import Algebra.PunitInstances
 
 #align_import algebra.module.submodule.lattice from "leanprover-community/mathlib"@"68d1483e8a718ec63219f0e227ca3f0140361086"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2017 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov
-
-! This file was ported from Lean 3 source module algebra.module.submodule.lattice
-! leanprover-community/mathlib commit 68d1483e8a718ec63219f0e227ca3f0140361086
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Module.Submodule.Basic
 import Mathbin.Algebra.PunitInstances
 
+#align_import algebra.module.submodule.lattice from "leanprover-community/mathlib"@"68d1483e8a718ec63219f0e227ca3f0140361086"
+
 /-!
 # The lattice structure on `submodule`s
 
Diff
@@ -56,50 +56,65 @@ instance inhabited' : Inhabited (Submodule R M) :=
 #align submodule.inhabited' Submodule.inhabited'
 -/
 
+#print Submodule.bot_coe /-
 @[simp]
 theorem bot_coe : ((⊥ : Submodule R M) : Set M) = {0} :=
   rfl
 #align submodule.bot_coe Submodule.bot_coe
+-/
 
+#print Submodule.bot_toAddSubmonoid /-
 @[simp]
 theorem bot_toAddSubmonoid : (⊥ : Submodule R M).toAddSubmonoid = ⊥ :=
   rfl
 #align submodule.bot_to_add_submonoid Submodule.bot_toAddSubmonoid
+-/
 
 section
 
 variable (R)
 
+#print Submodule.restrictScalars_bot /-
 @[simp]
 theorem restrictScalars_bot : restrictScalars S (⊥ : Submodule R M) = ⊥ :=
   rfl
 #align submodule.restrict_scalars_bot Submodule.restrictScalars_bot
+-/
 
+#print Submodule.mem_bot /-
 @[simp]
 theorem mem_bot {x : M} : x ∈ (⊥ : Submodule R M) ↔ x = 0 :=
   Set.mem_singleton_iff
 #align submodule.mem_bot Submodule.mem_bot
+-/
 
 end
 
+#print Submodule.restrictScalars_eq_bot_iff /-
 @[simp]
 theorem restrictScalars_eq_bot_iff {p : Submodule R M} : restrictScalars S p = ⊥ ↔ p = ⊥ := by
   simp [SetLike.ext_iff]
 #align submodule.restrict_scalars_eq_bot_iff Submodule.restrictScalars_eq_bot_iff
+-/
 
+#print Submodule.uniqueBot /-
 instance uniqueBot : Unique (⊥ : Submodule R M) :=
   ⟨inferInstance, fun x => Subtype.ext <| (mem_bot R).1 x.Mem⟩
 #align submodule.unique_bot Submodule.uniqueBot
+-/
 
 instance : OrderBot (Submodule R M) where
   bot := ⊥
   bot_le p x := by simp (config := { contextual := true }) [zero_mem]
 
+#print Submodule.eq_bot_iff /-
 protected theorem eq_bot_iff (p : Submodule R M) : p = ⊥ ↔ ∀ x ∈ p, x = (0 : M) :=
   ⟨fun h => h.symm ▸ fun x hx => (mem_bot R).mp hx, fun h =>
     eq_bot_iff.mpr fun x hx => (mem_bot R).mpr (h x hx)⟩
 #align submodule.eq_bot_iff Submodule.eq_bot_iff
+-/
 
+#print Submodule.bot_ext /-
 @[ext]
 protected theorem bot_ext (x y : (⊥ : Submodule R M)) : x = y :=
   by
@@ -107,21 +122,29 @@ protected theorem bot_ext (x y : (⊥ : Submodule R M)) : x = y :=
   rw [(Submodule.eq_bot_iff _).mp rfl x xm]
   rw [(Submodule.eq_bot_iff _).mp rfl y ym]
 #align submodule.bot_ext Submodule.bot_ext
+-/
 
+#print Submodule.ne_bot_iff /-
 protected theorem ne_bot_iff (p : Submodule R M) : p ≠ ⊥ ↔ ∃ x ∈ p, x ≠ (0 : M) := by
   haveI := Classical.propDecidable; simp_rw [Ne.def, p.eq_bot_iff, not_forall]
 #align submodule.ne_bot_iff Submodule.ne_bot_iff
+-/
 
+#print Submodule.nonzero_mem_of_bot_lt /-
 theorem nonzero_mem_of_bot_lt {p : Submodule R M} (bot_lt : ⊥ < p) : ∃ a : p, a ≠ 0 :=
   let ⟨b, hb₁, hb₂⟩ := p.ne_bot_iff.mp bot_lt.ne'
   ⟨⟨b, hb₁⟩, hb₂ ∘ congr_arg coe⟩
 #align submodule.nonzero_mem_of_bot_lt Submodule.nonzero_mem_of_bot_lt
+-/
 
+#print Submodule.exists_mem_ne_zero_of_ne_bot /-
 theorem exists_mem_ne_zero_of_ne_bot {p : Submodule R M} (h : p ≠ ⊥) : ∃ b : M, b ∈ p ∧ b ≠ 0 :=
   let ⟨b, hb₁, hb₂⟩ := p.ne_bot_iff.mp h
   ⟨b, hb₁, hb₂⟩
 #align submodule.exists_mem_ne_zero_of_ne_bot Submodule.exists_mem_ne_zero_of_ne_bot
+-/
 
+#print Submodule.botEquivPUnit /-
 /-- The bottom submodule is linearly equivalent to punit as an `R`-module. -/
 @[simps]
 def botEquivPUnit : (⊥ : Submodule R M) ≃ₗ[R] PUnit
@@ -133,13 +156,16 @@ def botEquivPUnit : (⊥ : Submodule R M) ≃ₗ[R] PUnit
   left_inv := by intro x; ext
   right_inv := by intro x; ext
 #align submodule.bot_equiv_punit Submodule.botEquivPUnit
+-/
 
+#print Submodule.eq_bot_of_subsingleton /-
 theorem eq_bot_of_subsingleton (p : Submodule R M) [Subsingleton p] : p = ⊥ :=
   by
   rw [eq_bot_iff]
   intro v hv
   exact congr_arg coe (Subsingleton.elim (⟨v, hv⟩ : p) 0)
 #align submodule.eq_bot_of_subsingleton Submodule.eq_bot_of_subsingleton
+-/
 
 /-- The universal set is the top element of the lattice of submodules. -/
 instance : Top (Submodule R M) :=
@@ -147,45 +173,58 @@ instance : Top (Submodule R M) :=
       carrier := Set.univ
       smul_mem' := fun _ _ _ => trivial }⟩
 
+#print Submodule.top_coe /-
 @[simp]
 theorem top_coe : ((⊤ : Submodule R M) : Set M) = Set.univ :=
   rfl
 #align submodule.top_coe Submodule.top_coe
+-/
 
+#print Submodule.top_toAddSubmonoid /-
 @[simp]
 theorem top_toAddSubmonoid : (⊤ : Submodule R M).toAddSubmonoid = ⊤ :=
   rfl
 #align submodule.top_to_add_submonoid Submodule.top_toAddSubmonoid
+-/
 
+#print Submodule.mem_top /-
 @[simp]
 theorem mem_top {x : M} : x ∈ (⊤ : Submodule R M) :=
   trivial
 #align submodule.mem_top Submodule.mem_top
+-/
 
 section
 
 variable (R)
 
+#print Submodule.restrictScalars_top /-
 @[simp]
 theorem restrictScalars_top : restrictScalars S (⊤ : Submodule R M) = ⊤ :=
   rfl
 #align submodule.restrict_scalars_top Submodule.restrictScalars_top
+-/
 
 end
 
+#print Submodule.restrictScalars_eq_top_iff /-
 @[simp]
 theorem restrictScalars_eq_top_iff {p : Submodule R M} : restrictScalars S p = ⊤ ↔ p = ⊤ := by
   simp [SetLike.ext_iff]
 #align submodule.restrict_scalars_eq_top_iff Submodule.restrictScalars_eq_top_iff
+-/
 
 instance : OrderTop (Submodule R M) where
   top := ⊤
   le_top p x _ := trivial
 
+#print Submodule.eq_top_iff' /-
 theorem eq_top_iff' {p : Submodule R M} : p = ⊤ ↔ ∀ x, x ∈ p :=
   eq_top_iff.trans ⟨fun h x => h trivial, fun h x _ => h x⟩
 #align submodule.eq_top_iff' Submodule.eq_top_iff'
+-/
 
+#print Submodule.topEquiv /-
 /-- The top submodule is linearly equivalent to the module.
 
 This is the module version of `add_submonoid.top_equiv`. -/
@@ -199,6 +238,7 @@ def topEquiv : (⊤ : Submodule R M) ≃ₗ[R] M
   left_inv := by intro x; ext; rfl
   right_inv := by intro x; rfl
 #align submodule.top_equiv Submodule.topEquiv
+-/
 
 instance : InfSet (Submodule R M) :=
   ⟨fun S =>
@@ -238,21 +278,28 @@ instance : CompleteLattice (Submodule R M) :=
     le_inf := fun s a => le_Inf'
     inf_le := fun s a => sInf_le' }
 
+#print Submodule.inf_coe /-
 @[simp]
 theorem inf_coe : ↑(p ⊓ q) = (p ∩ q : Set M) :=
   rfl
 #align submodule.inf_coe Submodule.inf_coe
+-/
 
+#print Submodule.mem_inf /-
 @[simp]
 theorem mem_inf {p q : Submodule R M} {x : M} : x ∈ p ⊓ q ↔ x ∈ p ∧ x ∈ q :=
   Iff.rfl
 #align submodule.mem_inf Submodule.mem_inf
+-/
 
+#print Submodule.sInf_coe /-
 @[simp]
 theorem sInf_coe (P : Set (Submodule R M)) : (↑(sInf P) : Set M) = ⋂ p ∈ P, ↑p :=
   rfl
 #align submodule.Inf_coe Submodule.sInf_coe
+-/
 
+#print Submodule.finset_inf_coe /-
 @[simp]
 theorem finset_inf_coe {ι} (s : Finset ι) (p : ι → Submodule R M) :
     (↑(s.inf p) : Set M) = ⋂ i ∈ s, ↑(p i) :=
@@ -263,91 +310,123 @@ theorem finset_inf_coe {ι} (s : Finset ι) (p : ι → Submodule R M) :
   · rw [Finset.inf_insert, inf_coe, ih]
     simp
 #align submodule.finset_inf_coe Submodule.finset_inf_coe
+-/
 
+#print Submodule.iInf_coe /-
 @[simp]
 theorem iInf_coe {ι} (p : ι → Submodule R M) : (↑(⨅ i, p i) : Set M) = ⋂ i, ↑(p i) := by
   rw [iInf, Inf_coe] <;> ext a <;> simp <;> exact ⟨fun h i => h _ i rfl, fun h i x e => e ▸ h _⟩
 #align submodule.infi_coe Submodule.iInf_coe
+-/
 
+#print Submodule.mem_sInf /-
 @[simp]
 theorem mem_sInf {S : Set (Submodule R M)} {x : M} : x ∈ sInf S ↔ ∀ p ∈ S, x ∈ p :=
   Set.mem_iInter₂
 #align submodule.mem_Inf Submodule.mem_sInf
+-/
 
+#print Submodule.mem_iInf /-
 @[simp]
 theorem mem_iInf {ι} (p : ι → Submodule R M) {x} : (x ∈ ⨅ i, p i) ↔ ∀ i, x ∈ p i := by
   rw [← SetLike.mem_coe, infi_coe, Set.mem_iInter] <;> rfl
 #align submodule.mem_infi Submodule.mem_iInf
+-/
 
+#print Submodule.mem_finset_inf /-
 @[simp]
 theorem mem_finset_inf {ι} {s : Finset ι} {p : ι → Submodule R M} {x : M} :
     x ∈ s.inf p ↔ ∀ i ∈ s, x ∈ p i := by
   simp only [← SetLike.mem_coe, finset_inf_coe, Set.mem_iInter]
 #align submodule.mem_finset_inf Submodule.mem_finset_inf
+-/
 
+#print Submodule.mem_sup_left /-
 theorem mem_sup_left {S T : Submodule R M} : ∀ {x : M}, x ∈ S → x ∈ S ⊔ T :=
   show S ≤ S ⊔ T from le_sup_left
 #align submodule.mem_sup_left Submodule.mem_sup_left
+-/
 
+#print Submodule.mem_sup_right /-
 theorem mem_sup_right {S T : Submodule R M} : ∀ {x : M}, x ∈ T → x ∈ S ⊔ T :=
   show T ≤ S ⊔ T from le_sup_right
 #align submodule.mem_sup_right Submodule.mem_sup_right
+-/
 
+#print Submodule.add_mem_sup /-
 theorem add_mem_sup {S T : Submodule R M} {s t : M} (hs : s ∈ S) (ht : t ∈ T) : s + t ∈ S ⊔ T :=
   add_mem (mem_sup_left hs) (mem_sup_right ht)
 #align submodule.add_mem_sup Submodule.add_mem_sup
+-/
 
+#print Submodule.sub_mem_sup /-
 theorem sub_mem_sup {R' M' : Type _} [Ring R'] [AddCommGroup M'] [Module R' M']
     {S T : Submodule R' M'} {s t : M'} (hs : s ∈ S) (ht : t ∈ T) : s - t ∈ S ⊔ T :=
   by
   rw [sub_eq_add_neg]
   exact add_mem_sup hs (neg_mem ht)
 #align submodule.sub_mem_sup Submodule.sub_mem_sup
+-/
 
+#print Submodule.mem_iSup_of_mem /-
 theorem mem_iSup_of_mem {ι : Sort _} {b : M} {p : ι → Submodule R M} (i : ι) (h : b ∈ p i) :
     b ∈ ⨆ i, p i :=
   have : p i ≤ ⨆ i, p i := le_iSup p i
   @this b h
 #align submodule.mem_supr_of_mem Submodule.mem_iSup_of_mem
+-/
 
 open scoped BigOperators
 
+#print Submodule.sum_mem_iSup /-
 theorem sum_mem_iSup {ι : Type _} [Fintype ι] {f : ι → M} {p : ι → Submodule R M}
     (h : ∀ i, f i ∈ p i) : ∑ i, f i ∈ ⨆ i, p i :=
   sum_mem fun i hi => mem_iSup_of_mem i (h i)
 #align submodule.sum_mem_supr Submodule.sum_mem_iSup
+-/
 
+#print Submodule.sum_mem_biSup /-
 theorem sum_mem_biSup {ι : Type _} {s : Finset ι} {f : ι → M} {p : ι → Submodule R M}
     (h : ∀ i ∈ s, f i ∈ p i) : ∑ i in s, f i ∈ ⨆ i ∈ s, p i :=
   sum_mem fun i hi => mem_iSup_of_mem i <| mem_iSup_of_mem hi (h i hi)
 #align submodule.sum_mem_bsupr Submodule.sum_mem_biSup
+-/
 
 /-! Note that `submodule.mem_supr` is provided in `linear_algebra/basic.lean`. -/
 
 
+#print Submodule.mem_sSup_of_mem /-
 theorem mem_sSup_of_mem {S : Set (Submodule R M)} {s : Submodule R M} (hs : s ∈ S) :
     ∀ {x : M}, x ∈ s → x ∈ sSup S :=
   show s ≤ sSup S from le_sSup hs
 #align submodule.mem_Sup_of_mem Submodule.mem_sSup_of_mem
+-/
 
+#print Submodule.disjoint_def /-
 theorem disjoint_def {p p' : Submodule R M} : Disjoint p p' ↔ ∀ x ∈ p, x ∈ p' → x = (0 : M) :=
   disjoint_iff_inf_le.trans <| show (∀ x, x ∈ p ∧ x ∈ p' → x ∈ ({0} : Set M)) ↔ _ by simp
 #align submodule.disjoint_def Submodule.disjoint_def
+-/
 
+#print Submodule.disjoint_def' /-
 theorem disjoint_def' {p p' : Submodule R M} :
     Disjoint p p' ↔ ∀ x ∈ p, ∀ y ∈ p', x = y → x = (0 : M) :=
   disjoint_def.trans
     ⟨fun h x hx y hy hxy => h x hx <| hxy.symm ▸ hy, fun h x hx hx' => h _ hx x hx' rfl⟩
 #align submodule.disjoint_def' Submodule.disjoint_def'
+-/
 
+#print Submodule.eq_zero_of_coe_mem_of_disjoint /-
 theorem eq_zero_of_coe_mem_of_disjoint (hpq : Disjoint p q) {a : p} (ha : (a : M) ∈ q) : a = 0 := by
   exact_mod_cast disjoint_def.mp hpq a (coe_mem a) ha
 #align submodule.eq_zero_of_coe_mem_of_disjoint Submodule.eq_zero_of_coe_mem_of_disjoint
+-/
 
 end Submodule
 
 section NatSubmodule
 
+#print AddSubmonoid.toNatSubmodule /-
 /-- An additive submonoid is equivalent to a ℕ-submodule. -/
 def AddSubmonoid.toNatSubmodule : AddSubmonoid M ≃o Submodule ℕ M
     where
@@ -357,29 +436,38 @@ def AddSubmonoid.toNatSubmodule : AddSubmonoid M ≃o Submodule ℕ M
   right_inv := fun ⟨S, _, _, _⟩ => rfl
   map_rel_iff' a b := Iff.rfl
 #align add_submonoid.to_nat_submodule AddSubmonoid.toNatSubmodule
+-/
 
+#print AddSubmonoid.toNatSubmodule_symm /-
 @[simp]
 theorem AddSubmonoid.toNatSubmodule_symm :
     ⇑(AddSubmonoid.toNatSubmodule.symm : _ ≃o AddSubmonoid M) = Submodule.toAddSubmonoid :=
   rfl
 #align add_submonoid.to_nat_submodule_symm AddSubmonoid.toNatSubmodule_symm
+-/
 
+#print AddSubmonoid.coe_toNatSubmodule /-
 @[simp]
 theorem AddSubmonoid.coe_toNatSubmodule (S : AddSubmonoid M) : (S.toNatSubmodule : Set M) = S :=
   rfl
 #align add_submonoid.coe_to_nat_submodule AddSubmonoid.coe_toNatSubmodule
+-/
 
+#print AddSubmonoid.toNatSubmodule_toAddSubmonoid /-
 @[simp]
 theorem AddSubmonoid.toNatSubmodule_toAddSubmonoid (S : AddSubmonoid M) :
     S.toNatSubmodule.toAddSubmonoid = S :=
   AddSubmonoid.toNatSubmodule.symm_apply_apply S
 #align add_submonoid.to_nat_submodule_to_add_submonoid AddSubmonoid.toNatSubmodule_toAddSubmonoid
+-/
 
+#print Submodule.toAddSubmonoid_toNatSubmodule /-
 @[simp]
 theorem Submodule.toAddSubmonoid_toNatSubmodule (S : Submodule ℕ M) :
     S.toAddSubmonoid.toNatSubmodule = S :=
   AddSubmonoid.toNatSubmodule.apply_symm_apply S
 #align submodule.to_add_submonoid_to_nat_submodule Submodule.toAddSubmonoid_toNatSubmodule
+-/
 
 end NatSubmodule
 
@@ -389,6 +477,7 @@ section IntSubmodule
 
 variable [AddCommGroup M]
 
+#print AddSubgroup.toIntSubmodule /-
 /-- An additive subgroup is equivalent to a ℤ-submodule. -/
 def AddSubgroup.toIntSubmodule : AddSubgroup M ≃o Submodule ℤ M
     where
@@ -398,29 +487,38 @@ def AddSubgroup.toIntSubmodule : AddSubgroup M ≃o Submodule ℤ M
   right_inv := fun ⟨S, _, _, _⟩ => rfl
   map_rel_iff' a b := Iff.rfl
 #align add_subgroup.to_int_submodule AddSubgroup.toIntSubmodule
+-/
 
+#print AddSubgroup.toIntSubmodule_symm /-
 @[simp]
 theorem AddSubgroup.toIntSubmodule_symm :
     ⇑(AddSubgroup.toIntSubmodule.symm : _ ≃o AddSubgroup M) = Submodule.toAddSubgroup :=
   rfl
 #align add_subgroup.to_int_submodule_symm AddSubgroup.toIntSubmodule_symm
+-/
 
+#print AddSubgroup.coe_toIntSubmodule /-
 @[simp]
 theorem AddSubgroup.coe_toIntSubmodule (S : AddSubgroup M) : (S.toIntSubmodule : Set M) = S :=
   rfl
 #align add_subgroup.coe_to_int_submodule AddSubgroup.coe_toIntSubmodule
+-/
 
+#print AddSubgroup.toIntSubmodule_toAddSubgroup /-
 @[simp]
 theorem AddSubgroup.toIntSubmodule_toAddSubgroup (S : AddSubgroup M) :
     S.toIntSubmodule.toAddSubgroup = S :=
   AddSubgroup.toIntSubmodule.symm_apply_apply S
 #align add_subgroup.to_int_submodule_to_add_subgroup AddSubgroup.toIntSubmodule_toAddSubgroup
+-/
 
+#print Submodule.toAddSubgroup_toIntSubmodule /-
 @[simp]
 theorem Submodule.toAddSubgroup_toIntSubmodule (S : Submodule ℤ M) :
     S.toAddSubgroup.toIntSubmodule = S :=
   AddSubgroup.toIntSubmodule.apply_symm_apply S
 #align submodule.to_add_subgroup_to_int_submodule Submodule.toAddSubgroup_toIntSubmodule
+-/
 
 end IntSubmodule
 
Diff
@@ -313,12 +313,12 @@ theorem mem_iSup_of_mem {ι : Sort _} {b : M} {p : ι → Submodule R M} (i : ι
 open scoped BigOperators
 
 theorem sum_mem_iSup {ι : Type _} [Fintype ι] {f : ι → M} {p : ι → Submodule R M}
-    (h : ∀ i, f i ∈ p i) : (∑ i, f i) ∈ ⨆ i, p i :=
+    (h : ∀ i, f i ∈ p i) : ∑ i, f i ∈ ⨆ i, p i :=
   sum_mem fun i hi => mem_iSup_of_mem i (h i)
 #align submodule.sum_mem_supr Submodule.sum_mem_iSup
 
 theorem sum_mem_biSup {ι : Type _} {s : Finset ι} {f : ι → M} {p : ι → Submodule R M}
-    (h : ∀ i ∈ s, f i ∈ p i) : (∑ i in s, f i) ∈ ⨆ i ∈ s, p i :=
+    (h : ∀ i ∈ s, f i ∈ p i) : ∑ i in s, f i ∈ ⨆ i ∈ s, p i :=
   sum_mem fun i hi => mem_iSup_of_mem i <| mem_iSup_of_mem hi (h i hi)
 #align submodule.sum_mem_bsupr Submodule.sum_mem_biSup
 
Diff
@@ -223,7 +223,7 @@ instance : Inf (Submodule R M) :=
 instance : CompleteLattice (Submodule R M) :=
   { Submodule.orderTop, Submodule.orderBot,
     SetLike.partialOrder with
-    sup := fun a b => sInf { x | a ≤ x ∧ b ≤ x }
+    sup := fun a b => sInf {x | a ≤ x ∧ b ≤ x}
     le_sup_left := fun a b => le_Inf' fun x ⟨ha, hb⟩ => ha
     le_sup_right := fun a b => le_Inf' fun x ⟨ha, hb⟩ => hb
     sup_le := fun a b c h₁ h₂ => sInf_le' ⟨h₁, h₂⟩
@@ -231,7 +231,7 @@ instance : CompleteLattice (Submodule R M) :=
     le_inf := fun a b c => Set.subset_inter
     inf_le_left := fun a b => Set.inter_subset_left _ _
     inf_le_right := fun a b => Set.inter_subset_right _ _
-    sSup := fun tt => sInf { t | ∀ t' ∈ tt, t' ≤ t }
+    sSup := fun tt => sInf {t | ∀ t' ∈ tt, t' ≤ t}
     le_sup := fun s p hs => le_Inf' fun q hq => hq _ hs
     sup_le := fun s p hs => sInf_le' hs
     sInf := sInf
Diff
@@ -128,8 +128,8 @@ def botEquivPUnit : (⊥ : Submodule R M) ≃ₗ[R] PUnit
     where
   toFun x := PUnit.unit
   invFun x := 0
-  map_add' := by intros ; ext
-  map_smul' := by intros ; ext
+  map_add' := by intros; ext
+  map_smul' := by intros; ext
   left_inv := by intro x; ext
   right_inv := by intro x; ext
 #align submodule.bot_equiv_punit Submodule.botEquivPUnit
@@ -194,8 +194,8 @@ def topEquiv : (⊤ : Submodule R M) ≃ₗ[R] M
     where
   toFun x := x
   invFun x := ⟨x, by simp⟩
-  map_add' := by intros ; rfl
-  map_smul' := by intros ; rfl
+  map_add' := by intros; rfl
+  map_smul' := by intros; rfl
   left_inv := by intro x; ext; rfl
   right_inv := by intro x; rfl
 #align submodule.top_equiv Submodule.topEquiv
Diff
@@ -310,7 +310,7 @@ theorem mem_iSup_of_mem {ι : Sort _} {b : M} {p : ι → Submodule R M} (i : ι
   @this b h
 #align submodule.mem_supr_of_mem Submodule.mem_iSup_of_mem
 
-open BigOperators
+open scoped BigOperators
 
 theorem sum_mem_iSup {ι : Type _} [Fintype ι] {f : ι → M} {p : ι → Submodule R M}
     (h : ∀ i, f i ∈ p i) : (∑ i, f i) ∈ ⨆ i, p i :=
Diff
@@ -56,23 +56,11 @@ instance inhabited' : Inhabited (Submodule R M) :=
 #align submodule.inhabited' Submodule.inhabited'
 -/
 
-/- warning: submodule.bot_coe -> Submodule.bot_coe is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.hasSingleton.{u2} M) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.instSingletonSet.{u2} M) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))
-Case conversion may be inaccurate. Consider using '#align submodule.bot_coe Submodule.bot_coeₓ'. -/
 @[simp]
 theorem bot_coe : ((⊥ : Submodule R M) : Set M) = {0} :=
   rfl
 #align submodule.bot_coe Submodule.bot_coe
 
-/- warning: submodule.bot_to_add_submonoid -> Submodule.bot_toAddSubmonoid is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.toAddSubmonoid.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Bot.bot.{u2} (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddSubmonoid.hasBot.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.toAddSubmonoid.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Bot.bot.{u2} (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddSubmonoid.instBotAddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))))
-Case conversion may be inaccurate. Consider using '#align submodule.bot_to_add_submonoid Submodule.bot_toAddSubmonoidₓ'. -/
 @[simp]
 theorem bot_toAddSubmonoid : (⊥ : Submodule R M).toAddSubmonoid = ⊥ :=
   rfl
@@ -82,23 +70,11 @@ section
 
 variable (R)
 
-/- warning: submodule.restrict_scalars_bot -> Submodule.restrictScalars_bot is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {S : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_5 : Module.{u2, u3} S M _inst_2 _inst_3] [_inst_6 : SMul.{u2, u1} S R] [_inst_7 : IsScalarTower.{u2, u1, u3} S R M _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toHasSmul.{u2, u3} S M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u2, u3} S M (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u2, u3} S M (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u2, u3} S M _inst_2 _inst_3 _inst_5))))], Eq.{succ u3} (Submodule.{u2, u3} S M _inst_2 _inst_3 _inst_5) (Submodule.restrictScalars.{u2, u1, u3} S R M _inst_1 _inst_3 _inst_2 _inst_5 _inst_4 _inst_6 _inst_7 (Bot.bot.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u3} R M _inst_1 _inst_3 _inst_4))) (Bot.bot.{u3} (Submodule.{u2, u3} S M _inst_2 _inst_3 _inst_5) (Submodule.hasBot.{u2, u3} S M _inst_2 _inst_3 _inst_5))
-but is expected to have type
-  forall (R : Type.{u1}) {S : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_5 : Module.{u2, u3} S M _inst_2 _inst_3] [_inst_6 : SMul.{u2, u1} S R] [_inst_7 : IsScalarTower.{u2, u1, u3} S R M _inst_6 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u2, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u3} S M (MonoidWithZero.toZero.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u3} S M (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u2, u3} S M _inst_2 _inst_3 _inst_5))))], Eq.{succ u3} (Submodule.{u2, u3} S M _inst_2 _inst_3 _inst_5) (Submodule.restrictScalars.{u2, u1, u3} S R M _inst_1 _inst_3 _inst_2 _inst_5 _inst_4 _inst_6 _inst_7 (Bot.bot.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u3} R M _inst_1 _inst_3 _inst_4))) (Bot.bot.{u3} (Submodule.{u2, u3} S M _inst_2 _inst_3 _inst_5) (Submodule.instBotSubmodule.{u2, u3} S M _inst_2 _inst_3 _inst_5))
-Case conversion may be inaccurate. Consider using '#align submodule.restrict_scalars_bot Submodule.restrictScalars_botₓ'. -/
 @[simp]
 theorem restrictScalars_bot : restrictScalars S (⊥ : Submodule R M) = ⊥ :=
   rfl
 #align submodule.restrict_scalars_bot Submodule.restrictScalars_bot
 
-/- warning: submodule.mem_bot -> Submodule.mem_bot is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Eq.{succ u2} M x (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))))
-but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Eq.{succ u2} M x (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_bot Submodule.mem_botₓ'. -/
 @[simp]
 theorem mem_bot {x : M} : x ∈ (⊥ : Submodule R M) ↔ x = 0 :=
   Set.mem_singleton_iff
@@ -106,23 +82,11 @@ theorem mem_bot {x : M} : x ∈ (⊥ : Submodule R M) ↔ x = 0 :=
 
 end
 
-/- warning: submodule.restrict_scalars_eq_bot_iff -> Submodule.restrictScalars_eq_bot_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_5 : Module.{u2, u3} S M _inst_2 _inst_3] [_inst_6 : SMul.{u2, u1} S R] [_inst_7 : IsScalarTower.{u2, u1, u3} S R M _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toHasSmul.{u2, u3} S M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u2, u3} S M (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u2, u3} S M (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u2, u3} S M _inst_2 _inst_3 _inst_5))))] {p : Submodule.{u1, u3} R M _inst_1 _inst_3 _inst_4}, Iff (Eq.{succ u3} (Submodule.{u2, u3} S M _inst_2 _inst_3 _inst_5) (Submodule.restrictScalars.{u2, u1, u3} S R M _inst_1 _inst_3 _inst_2 _inst_5 _inst_4 _inst_6 _inst_7 p) (Bot.bot.{u3} (Submodule.{u2, u3} S M _inst_2 _inst_3 _inst_5) (Submodule.hasBot.{u2, u3} S M _inst_2 _inst_3 _inst_5))) (Eq.{succ u3} (Submodule.{u1, u3} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u3} R M _inst_1 _inst_3 _inst_4)))
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_5 : Module.{u1, u2} S M _inst_2 _inst_3] [_inst_6 : SMul.{u1, u3} S R] [_inst_7 : IsScalarTower.{u1, u3, u2} S R M _inst_6 (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u1, u2} S M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u2} S M (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u2} S M (Semiring.toMonoidWithZero.{u1} S _inst_2) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u1, u2} S M _inst_2 _inst_3 _inst_5))))] {p : Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4}, Iff (Eq.{succ u2} (Submodule.{u1, u2} S M _inst_2 _inst_3 _inst_5) (Submodule.restrictScalars.{u1, u3, u2} S R M _inst_1 _inst_3 _inst_2 _inst_5 _inst_4 _inst_6 _inst_7 p) (Bot.bot.{u2} (Submodule.{u1, u2} S M _inst_2 _inst_3 _inst_5) (Submodule.instBotSubmodule.{u1, u2} S M _inst_2 _inst_3 _inst_5))) (Eq.{succ u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u3, u2} R M _inst_1 _inst_3 _inst_4)))
-Case conversion may be inaccurate. Consider using '#align submodule.restrict_scalars_eq_bot_iff Submodule.restrictScalars_eq_bot_iffₓ'. -/
 @[simp]
 theorem restrictScalars_eq_bot_iff {p : Submodule R M} : restrictScalars S p = ⊥ ↔ p = ⊥ := by
   simp [SetLike.ext_iff]
 #align submodule.restrict_scalars_eq_bot_iff Submodule.restrictScalars_eq_bot_iff
 
-/- warning: submodule.unique_bot -> Submodule.uniqueBot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Unique.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4)))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Unique.{succ u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))))
-Case conversion may be inaccurate. Consider using '#align submodule.unique_bot Submodule.uniqueBotₓ'. -/
 instance uniqueBot : Unique (⊥ : Submodule R M) :=
   ⟨inferInstance, fun x => Subtype.ext <| (mem_bot R).1 x.Mem⟩
 #align submodule.unique_bot Submodule.uniqueBot
@@ -131,23 +95,11 @@ instance : OrderBot (Submodule R M) where
   bot := ⊥
   bot_le p x := by simp (config := { contextual := true }) [zero_mem]
 
-/- warning: submodule.eq_bot_iff -> Submodule.eq_bot_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4), Iff (Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (forall (x : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p) -> (Eq.{succ u2} M x (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))))))))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4), Iff (Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (forall (x : M), (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) -> (Eq.{succ u1} M x (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))
-Case conversion may be inaccurate. Consider using '#align submodule.eq_bot_iff Submodule.eq_bot_iffₓ'. -/
 protected theorem eq_bot_iff (p : Submodule R M) : p = ⊥ ↔ ∀ x ∈ p, x = (0 : M) :=
   ⟨fun h => h.symm ▸ fun x hx => (mem_bot R).mp hx, fun h =>
     eq_bot_iff.mpr fun x hx => (mem_bot R).mpr (h x hx)⟩
 #align submodule.eq_bot_iff Submodule.eq_bot_iff
 
-/- warning: submodule.bot_ext -> Submodule.bot_ext is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (x : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (y : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))), Eq.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) x y
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (y : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)))), Eq.{succ u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) x y
-Case conversion may be inaccurate. Consider using '#align submodule.bot_ext Submodule.bot_extₓ'. -/
 @[ext]
 protected theorem bot_ext (x y : (⊥ : Submodule R M)) : x = y :=
   by
@@ -156,44 +108,20 @@ protected theorem bot_ext (x y : (⊥ : Submodule R M)) : x = y :=
   rw [(Submodule.eq_bot_iff _).mp rfl y ym]
 #align submodule.bot_ext Submodule.bot_ext
 
-/- warning: submodule.ne_bot_iff -> Submodule.ne_bot_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4), Iff (Ne.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Exists.{succ u2} M (fun (x : M) => Exists.{0} (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p) (fun (H : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p) => Ne.{succ u2} M x (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))))))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4), Iff (Ne.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Exists.{succ u1} M (fun (x : M) => And (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) (Ne.{succ u1} M x (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))
-Case conversion may be inaccurate. Consider using '#align submodule.ne_bot_iff Submodule.ne_bot_iffₓ'. -/
 protected theorem ne_bot_iff (p : Submodule R M) : p ≠ ⊥ ↔ ∃ x ∈ p, x ≠ (0 : M) := by
   haveI := Classical.propDecidable; simp_rw [Ne.def, p.eq_bot_iff, not_forall]
 #align submodule.ne_bot_iff Submodule.ne_bot_iff
 
-/- warning: submodule.nonzero_mem_of_bot_lt -> Submodule.nonzero_mem_of_bot_lt is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (LT.lt.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Preorder.toHasLt.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) -> (Exists.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) (fun (a : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) => Ne.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) a (OfNat.ofNat.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) 0 (OfNat.mk.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) 0 (Zero.zero.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) (Submodule.zero.{u1, u2} R M _inst_1 _inst_3 _inst_4 p))))))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4}, (LT.lt.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Preorder.toLT.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instPartialOrder.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) (Bot.bot.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) p) -> (Exists.{succ u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) (fun (a : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) => Ne.{succ u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) a (OfNat.ofNat.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) 0 (Zero.toOfNat0.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) (Submodule.zero.{u2, u1} R M _inst_1 _inst_3 _inst_4 p)))))
-Case conversion may be inaccurate. Consider using '#align submodule.nonzero_mem_of_bot_lt Submodule.nonzero_mem_of_bot_ltₓ'. -/
 theorem nonzero_mem_of_bot_lt {p : Submodule R M} (bot_lt : ⊥ < p) : ∃ a : p, a ≠ 0 :=
   let ⟨b, hb₁, hb₂⟩ := p.ne_bot_iff.mp bot_lt.ne'
   ⟨⟨b, hb₁⟩, hb₂ ∘ congr_arg coe⟩
 #align submodule.nonzero_mem_of_bot_lt Submodule.nonzero_mem_of_bot_lt
 
-/- warning: submodule.exists_mem_ne_zero_of_ne_bot -> Submodule.exists_mem_ne_zero_of_ne_bot is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (Ne.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) -> (Exists.{succ u2} M (fun (b : M) => And (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) b p) (Ne.{succ u2} M b (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))))))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4}, (Ne.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4))) -> (Exists.{succ u1} M (fun (b : M) => And (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) b p) (Ne.{succ u1} M b (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))
-Case conversion may be inaccurate. Consider using '#align submodule.exists_mem_ne_zero_of_ne_bot Submodule.exists_mem_ne_zero_of_ne_botₓ'. -/
 theorem exists_mem_ne_zero_of_ne_bot {p : Submodule R M} (h : p ≠ ⊥) : ∃ b : M, b ∈ p ∧ b ≠ 0 :=
   let ⟨b, hb₁, hb₂⟩ := p.ne_bot_iff.mp h
   ⟨b, hb₁, hb₂⟩
 #align submodule.exists_mem_ne_zero_of_ne_bot Submodule.exists_mem_ne_zero_of_ne_bot
 
-/- warning: submodule.bot_equiv_punit -> Submodule.botEquivPUnit is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], LinearEquiv.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) PUnit.{succ u3} (Submodule.addCommMonoid.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (AddCommGroup.toAddCommMonoid.{u3} PUnit.{succ u3} PUnit.addCommGroup.{u3}) (Submodule.module.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (PUnit.module.{u1, u3} R _inst_1)
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u2, u3} R M _inst_1 _inst_3], LinearEquiv.{u2, u2, u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u3} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u3} R M _inst_1 _inst_3 _inst_4)))) PUnit.{succ u1} (Submodule.addCommMonoid.{u2, u3} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u3} R M _inst_1 _inst_3 _inst_4))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} PUnit.{succ u1} (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} PUnit.{succ u1} PUnit.linearOrderedCancelAddCommMonoid.{u1})) (Submodule.module.{u2, u3} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u3} R M _inst_1 _inst_3 _inst_4))) (PUnit.module.{u2, u1} R _inst_1)
-Case conversion may be inaccurate. Consider using '#align submodule.bot_equiv_punit Submodule.botEquivPUnitₓ'. -/
 /-- The bottom submodule is linearly equivalent to punit as an `R`-module. -/
 @[simps]
 def botEquivPUnit : (⊥ : Submodule R M) ≃ₗ[R] PUnit
@@ -206,12 +134,6 @@ def botEquivPUnit : (⊥ : Submodule R M) ≃ₗ[R] PUnit
   right_inv := by intro x; ext
 #align submodule.bot_equiv_punit Submodule.botEquivPUnit
 
-/- warning: submodule.eq_bot_of_subsingleton -> Submodule.eq_bot_of_subsingleton is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) [_inst_8 : Subsingleton.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p)], Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) [_inst_8 : Subsingleton.{succ u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p))], Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4))
-Case conversion may be inaccurate. Consider using '#align submodule.eq_bot_of_subsingleton Submodule.eq_bot_of_subsingletonₓ'. -/
 theorem eq_bot_of_subsingleton (p : Submodule R M) [Subsingleton p] : p = ⊥ :=
   by
   rw [eq_bot_iff]
@@ -225,34 +147,16 @@ instance : Top (Submodule R M) :=
       carrier := Set.univ
       smul_mem' := fun _ _ _ => trivial }⟩
 
-/- warning: submodule.top_coe -> Submodule.top_coe is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasTop.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Set.univ.{u2} M)
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Set.univ.{u2} M)
-Case conversion may be inaccurate. Consider using '#align submodule.top_coe Submodule.top_coeₓ'. -/
 @[simp]
 theorem top_coe : ((⊤ : Submodule R M) : Set M) = Set.univ :=
   rfl
 #align submodule.top_coe Submodule.top_coe
 
-/- warning: submodule.top_to_add_submonoid -> Submodule.top_toAddSubmonoid is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.toAddSubmonoid.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasTop.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Top.top.{u2} (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddSubmonoid.hasTop.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (Submodule.toAddSubmonoid.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Top.top.{u2} (AddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))) (AddSubmonoid.instTopAddSubmonoid.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))))
-Case conversion may be inaccurate. Consider using '#align submodule.top_to_add_submonoid Submodule.top_toAddSubmonoidₓ'. -/
 @[simp]
 theorem top_toAddSubmonoid : (⊤ : Submodule R M).toAddSubmonoid = ⊤ :=
   rfl
 #align submodule.top_to_add_submonoid Submodule.top_toAddSubmonoid
 
-/- warning: submodule.mem_top -> Submodule.mem_top is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {x : M}, Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasTop.{u1, u2} R M _inst_1 _inst_3 _inst_4))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {x : M}, Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_top Submodule.mem_topₓ'. -/
 @[simp]
 theorem mem_top {x : M} : x ∈ (⊤ : Submodule R M) :=
   trivial
@@ -262,12 +166,6 @@ section
 
 variable (R)
 
-/- warning: submodule.restrict_scalars_top -> Submodule.restrictScalars_top is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {S : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_5 : Module.{u2, u3} S M _inst_2 _inst_3] [_inst_6 : SMul.{u2, u1} S R] [_inst_7 : IsScalarTower.{u2, u1, u3} S R M _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toHasSmul.{u2, u3} S M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u2, u3} S M (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u2, u3} S M (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u2, u3} S M _inst_2 _inst_3 _inst_5))))], Eq.{succ u3} (Submodule.{u2, u3} S M _inst_2 _inst_3 _inst_5) (Submodule.restrictScalars.{u2, u1, u3} S R M _inst_1 _inst_3 _inst_2 _inst_5 _inst_4 _inst_6 _inst_7 (Top.top.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_3 _inst_4) (Submodule.hasTop.{u1, u3} R M _inst_1 _inst_3 _inst_4))) (Top.top.{u3} (Submodule.{u2, u3} S M _inst_2 _inst_3 _inst_5) (Submodule.hasTop.{u2, u3} S M _inst_2 _inst_3 _inst_5))
-but is expected to have type
-  forall (R : Type.{u1}) {S : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_5 : Module.{u2, u3} S M _inst_2 _inst_3] [_inst_6 : SMul.{u2, u1} S R] [_inst_7 : IsScalarTower.{u2, u1, u3} S R M _inst_6 (SMulZeroClass.toSMul.{u1, u3} R M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u3} R M (MonoidWithZero.toZero.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u2, u3} S M (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u2, u3} S M (MonoidWithZero.toZero.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u2, u3} S M (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddMonoid.toZero.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3)) (Module.toMulActionWithZero.{u2, u3} S M _inst_2 _inst_3 _inst_5))))], Eq.{succ u3} (Submodule.{u2, u3} S M _inst_2 _inst_3 _inst_5) (Submodule.restrictScalars.{u2, u1, u3} S R M _inst_1 _inst_3 _inst_2 _inst_5 _inst_4 _inst_6 _inst_7 (Top.top.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u3} R M _inst_1 _inst_3 _inst_4))) (Top.top.{u3} (Submodule.{u2, u3} S M _inst_2 _inst_3 _inst_5) (Submodule.instTopSubmodule.{u2, u3} S M _inst_2 _inst_3 _inst_5))
-Case conversion may be inaccurate. Consider using '#align submodule.restrict_scalars_top Submodule.restrictScalars_topₓ'. -/
 @[simp]
 theorem restrictScalars_top : restrictScalars S (⊤ : Submodule R M) = ⊤ :=
   rfl
@@ -275,12 +173,6 @@ theorem restrictScalars_top : restrictScalars S (⊤ : Submodule R M) = ⊤ :=
 
 end
 
-/- warning: submodule.restrict_scalars_eq_top_iff -> Submodule.restrictScalars_eq_top_iff is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {S : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} S] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u1, u3} R M _inst_1 _inst_3] [_inst_5 : Module.{u2, u3} S M _inst_2 _inst_3] [_inst_6 : SMul.{u2, u1} S R] [_inst_7 : IsScalarTower.{u2, u1, u3} S R M _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} R M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} R M (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} R M (Semiring.toMonoidWithZero.{u1} R _inst_1) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u1, u3} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toHasSmul.{u2, u3} S M (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (SMulWithZero.toSmulZeroClass.{u2, u3} S M (MulZeroClass.toHasZero.{u2} S (MulZeroOneClass.toMulZeroClass.{u2} S (MonoidWithZero.toMulZeroOneClass.{u2} S (Semiring.toMonoidWithZero.{u2} S _inst_2)))) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (MulActionWithZero.toSMulWithZero.{u2, u3} S M (Semiring.toMonoidWithZero.{u2} S _inst_2) (AddZeroClass.toHasZero.{u3} M (AddMonoid.toAddZeroClass.{u3} M (AddCommMonoid.toAddMonoid.{u3} M _inst_3))) (Module.toMulActionWithZero.{u2, u3} S M _inst_2 _inst_3 _inst_5))))] {p : Submodule.{u1, u3} R M _inst_1 _inst_3 _inst_4}, Iff (Eq.{succ u3} (Submodule.{u2, u3} S M _inst_2 _inst_3 _inst_5) (Submodule.restrictScalars.{u2, u1, u3} S R M _inst_1 _inst_3 _inst_2 _inst_5 _inst_4 _inst_6 _inst_7 p) (Top.top.{u3} (Submodule.{u2, u3} S M _inst_2 _inst_3 _inst_5) (Submodule.hasTop.{u2, u3} S M _inst_2 _inst_3 _inst_5))) (Eq.{succ u3} (Submodule.{u1, u3} R M _inst_1 _inst_3 _inst_4) p (Top.top.{u3} (Submodule.{u1, u3} R M _inst_1 _inst_3 _inst_4) (Submodule.hasTop.{u1, u3} R M _inst_1 _inst_3 _inst_4)))
-but is expected to have type
-  forall {R : Type.{u3}} {S : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u3} R] [_inst_2 : Semiring.{u1} S] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u3, u2} R M _inst_1 _inst_3] [_inst_5 : Module.{u1, u2} S M _inst_2 _inst_3] [_inst_6 : SMul.{u1, u3} S R] [_inst_7 : IsScalarTower.{u1, u3, u2} S R M _inst_6 (SMulZeroClass.toSMul.{u3, u2} R M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u2} R M (MonoidWithZero.toZero.{u3} R (Semiring.toMonoidWithZero.{u3} R _inst_1)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u2} R M (Semiring.toMonoidWithZero.{u3} R _inst_1) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u3, u2} R M _inst_1 _inst_3 _inst_4)))) (SMulZeroClass.toSMul.{u1, u2} S M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (SMulWithZero.toSMulZeroClass.{u1, u2} S M (MonoidWithZero.toZero.{u1} S (Semiring.toMonoidWithZero.{u1} S _inst_2)) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u2} S M (Semiring.toMonoidWithZero.{u1} S _inst_2) (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)) (Module.toMulActionWithZero.{u1, u2} S M _inst_2 _inst_3 _inst_5))))] {p : Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4}, Iff (Eq.{succ u2} (Submodule.{u1, u2} S M _inst_2 _inst_3 _inst_5) (Submodule.restrictScalars.{u1, u3, u2} S R M _inst_1 _inst_3 _inst_2 _inst_5 _inst_4 _inst_6 _inst_7 p) (Top.top.{u2} (Submodule.{u1, u2} S M _inst_2 _inst_3 _inst_5) (Submodule.instTopSubmodule.{u1, u2} S M _inst_2 _inst_3 _inst_5))) (Eq.{succ u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) p (Top.top.{u2} (Submodule.{u3, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u3, u2} R M _inst_1 _inst_3 _inst_4)))
-Case conversion may be inaccurate. Consider using '#align submodule.restrict_scalars_eq_top_iff Submodule.restrictScalars_eq_top_iffₓ'. -/
 @[simp]
 theorem restrictScalars_eq_top_iff {p : Submodule R M} : restrictScalars S p = ⊤ ↔ p = ⊤ := by
   simp [SetLike.ext_iff]
@@ -290,22 +182,10 @@ instance : OrderTop (Submodule R M) where
   top := ⊤
   le_top p x _ := trivial
 
-/- warning: submodule.eq_top_iff' -> Submodule.eq_top_iff' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, Iff (Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasTop.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (forall (x : M), Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p)
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4}, Iff (Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p (Top.top.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (forall (x : M), Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)
-Case conversion may be inaccurate. Consider using '#align submodule.eq_top_iff' Submodule.eq_top_iff'ₓ'. -/
 theorem eq_top_iff' {p : Submodule R M} : p = ⊤ ↔ ∀ x, x ∈ p :=
   eq_top_iff.trans ⟨fun h x => h trivial, fun h x _ => h x⟩
 #align submodule.eq_top_iff' Submodule.eq_top_iff'
 
-/- warning: submodule.top_equiv -> Submodule.topEquiv is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasTop.{u1, u2} R M _inst_1 _inst_3 _inst_4))) M (Submodule.addCommMonoid.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasTop.{u1, u2} R M _inst_1 _inst_3 _inst_4))) _inst_3 (Submodule.module.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasTop.{u1, u2} R M _inst_1 _inst_3 _inst_4))) _inst_4
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) M (Submodule.addCommMonoid.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) _inst_3 (Submodule.module.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) _inst_4
-Case conversion may be inaccurate. Consider using '#align submodule.top_equiv Submodule.topEquivₓ'. -/
 /-- The top submodule is linearly equivalent to the module.
 
 This is the module version of `add_submonoid.top_equiv`. -/
@@ -358,45 +238,21 @@ instance : CompleteLattice (Submodule R M) :=
     le_inf := fun s a => le_Inf'
     inf_le := fun s a => sInf_le' }
 
-/- warning: submodule.inf_coe -> Submodule.inf_coe is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (Inf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q)) (Inter.inter.{u2} (Set.{u2} M) (Set.hasInter.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) p) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) q))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Inf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q)) (Inter.inter.{u2} (Set.{u2} M) (Set.instInterSet.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) p) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) q))
-Case conversion may be inaccurate. Consider using '#align submodule.inf_coe Submodule.inf_coeₓ'. -/
 @[simp]
 theorem inf_coe : ↑(p ⊓ q) = (p ∩ q : Set M) :=
   rfl
 #align submodule.inf_coe Submodule.inf_coe
 
-/- warning: submodule.mem_inf -> Submodule.mem_inf is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Inf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q)) (And (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p) (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x q))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {x : M}, Iff (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (Inf.inf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p q)) (And (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x q))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_inf Submodule.mem_infₓ'. -/
 @[simp]
 theorem mem_inf {p q : Submodule R M} {x : M} : x ∈ p ⊓ q ↔ x ∈ p ∧ x ∈ q :=
   Iff.rfl
 #align submodule.mem_inf Submodule.mem_inf
 
-/- warning: submodule.Inf_coe -> Submodule.sInf_coe is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (P : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (InfSet.sInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) P)) (Set.iInter.{u2, succ u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (fun (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) => Set.iInter.{u2, 0} M (Membership.Mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.hasMem.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) (fun (H : Membership.Mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.hasMem.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) p)))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (P : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) (InfSet.sInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) P)) (Set.iInter.{u2, succ u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (fun (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) => Set.iInter.{u2, 0} M (Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) (fun (H : Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) => SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) p)))
-Case conversion may be inaccurate. Consider using '#align submodule.Inf_coe Submodule.sInf_coeₓ'. -/
 @[simp]
 theorem sInf_coe (P : Set (Submodule R M)) : (↑(sInf P) : Set M) = ⋂ p ∈ P, ↑p :=
   rfl
 #align submodule.Inf_coe Submodule.sInf_coe
 
-/- warning: submodule.finset_inf_coe -> Submodule.finset_inf_coe is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Type.{u3}} (s : Finset.{u3} ι) (p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (Finset.inf.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) ι (Lattice.toSemilatticeInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Submodule.orderTop.{u1, u2} R M _inst_1 _inst_3 _inst_4) s p)) (Set.iInter.{u2, succ u3} M ι (fun (i : ι) => Set.iInter.{u2, 0} M (Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) (fun (H : Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (p i))))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} (s : Finset.{u3} ι) (p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Finset.inf.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (Lattice.toSemilatticeInf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) s p)) (Set.iInter.{u1, succ u3} M ι (fun (i : ι) => Set.iInter.{u1, 0} M (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) (fun (H : Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) => SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) (p i))))
-Case conversion may be inaccurate. Consider using '#align submodule.finset_inf_coe Submodule.finset_inf_coeₓ'. -/
 @[simp]
 theorem finset_inf_coe {ι} (s : Finset ι) (p : ι → Submodule R M) :
     (↑(s.inf p) : Set M) = ⋂ i ∈ s, ↑(p i) :=
@@ -408,87 +264,39 @@ theorem finset_inf_coe {ι} (s : Finset ι) (p : ι → Submodule R M) :
     simp
 #align submodule.finset_inf_coe Submodule.finset_inf_coe
 
-/- warning: submodule.infi_coe -> Submodule.iInf_coe is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (iInf.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (Set.iInter.{u2, u3} M ι (fun (i : ι) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (p i)))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) (iInf.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (Set.iInter.{u1, u3} M ι (fun (i : ι) => SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) (p i)))
-Case conversion may be inaccurate. Consider using '#align submodule.infi_coe Submodule.iInf_coeₓ'. -/
 @[simp]
 theorem iInf_coe {ι} (p : ι → Submodule R M) : (↑(⨅ i, p i) : Set M) = ⋂ i, ↑(p i) := by
   rw [iInf, Inf_coe] <;> ext a <;> simp <;> exact ⟨fun h i => h _ i rfl, fun h i x e => e ▸ h _⟩
 #align submodule.infi_coe Submodule.iInf_coe
 
-/- warning: submodule.mem_Inf -> Submodule.mem_sInf is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (InfSet.sInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) S)) (forall (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4), (Membership.Mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.hasMem.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p S) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (InfSet.sInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) S)) (forall (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4), (Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p S) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_Inf Submodule.mem_sInfₓ'. -/
 @[simp]
 theorem mem_sInf {S : Set (Submodule R M)} {x : M} : x ∈ sInf S ↔ ∀ p ∈ S, x ∈ p :=
   Set.mem_iInter₂
 #align submodule.mem_Inf Submodule.mem_sInf
 
-/- warning: submodule.mem_infi -> Submodule.mem_iInf is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (iInf.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (forall (i : ι), Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (p i))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) {x : M}, Iff (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (iInf.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (forall (i : ι), Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (p i))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_infi Submodule.mem_iInfₓ'. -/
 @[simp]
 theorem mem_iInf {ι} (p : ι → Submodule R M) {x} : (x ∈ ⨅ i, p i) ↔ ∀ i, x ∈ p i := by
   rw [← SetLike.mem_coe, infi_coe, Set.mem_iInter] <;> rfl
 #align submodule.mem_infi Submodule.mem_iInf
 
-/- warning: submodule.mem_finset_inf -> Submodule.mem_finset_inf is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Type.{u3}} {s : Finset.{u3} ι} {p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Finset.inf.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) ι (Lattice.toSemilatticeInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Submodule.orderTop.{u1, u2} R M _inst_1 _inst_3 _inst_4) s p)) (forall (i : ι), (Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (p i)))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} {s : Finset.{u3} ι} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)} {x : M}, Iff (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (Finset.inf.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (Lattice.toSemilatticeInf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) s p)) (forall (i : ι), (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (p i)))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_finset_inf Submodule.mem_finset_infₓ'. -/
 @[simp]
 theorem mem_finset_inf {ι} {s : Finset ι} {p : ι → Submodule R M} {x : M} :
     x ∈ s.inf p ↔ ∀ i ∈ s, x ∈ p i := by
   simp only [← SetLike.mem_coe, finset_inf_coe, Set.mem_iInter]
 #align submodule.mem_finset_inf Submodule.mem_finset_inf
 
-/- warning: submodule.mem_sup_left -> Submodule.mem_sup_left is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x S) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Sup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) S T))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {S : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x S) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) S T))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_sup_left Submodule.mem_sup_leftₓ'. -/
 theorem mem_sup_left {S T : Submodule R M} : ∀ {x : M}, x ∈ S → x ∈ S ⊔ T :=
   show S ≤ S ⊔ T from le_sup_left
 #align submodule.mem_sup_left Submodule.mem_sup_left
 
-/- warning: submodule.mem_sup_right -> Submodule.mem_sup_right is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x T) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Sup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) S T))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {S : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x T) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) S T))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_sup_right Submodule.mem_sup_rightₓ'. -/
 theorem mem_sup_right {S T : Submodule R M} : ∀ {x : M}, x ∈ T → x ∈ S ⊔ T :=
   show T ≤ S ⊔ T from le_sup_right
 #align submodule.mem_sup_right Submodule.mem_sup_right
 
-/- warning: submodule.add_mem_sup -> Submodule.add_mem_sup is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {s : M} {t : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) s S) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) t T) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) s t) (Sup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) S T))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {S : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {s : M} {t : M}, (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) s S) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) t T) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (HAdd.hAdd.{u1, u1, u1} M M M (instHAdd.{u1} M (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) s t) (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) S T))
-Case conversion may be inaccurate. Consider using '#align submodule.add_mem_sup Submodule.add_mem_supₓ'. -/
 theorem add_mem_sup {S T : Submodule R M} {s t : M} (hs : s ∈ S) (ht : t ∈ T) : s + t ∈ S ⊔ T :=
   add_mem (mem_sup_left hs) (mem_sup_right ht)
 #align submodule.add_mem_sup Submodule.add_mem_sup
 
-/- warning: submodule.sub_mem_sup -> Submodule.sub_mem_sup is a dubious translation:
-lean 3 declaration is
-  forall {R' : Type.{u1}} {M' : Type.{u2}} [_inst_8 : Ring.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] {S : Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10} {T : Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10} {s : M'} {t : M'}, (Membership.Mem.{u2, u2} M' (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) M' (Submodule.setLike.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)) s S) -> (Membership.Mem.{u2, u2} M' (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) M' (Submodule.setLike.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)) t T) -> (Membership.Mem.{u2, u2} M' (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) M' (Submodule.setLike.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)) (HSub.hSub.{u2, u2, u2} M' M' M' (instHSub.{u2} M' (SubNegMonoid.toHasSub.{u2} M' (AddGroup.toSubNegMonoid.{u2} M' (AddCommGroup.toAddGroup.{u2} M' _inst_9)))) s t) (Sup.sup.{u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (Submodule.completeLattice.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) S T))
-but is expected to have type
-  forall {R' : Type.{u2}} {M' : Type.{u1}} [_inst_8 : Ring.{u2} R'] [_inst_9 : AddCommGroup.{u1} M'] [_inst_10 : Module.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9)] {S : Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10} {T : Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10} {s : M'} {t : M'}, (Membership.mem.{u1, u1} M' (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) M' (Submodule.setLike.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)) s S) -> (Membership.mem.{u1, u1} M' (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) M' (Submodule.setLike.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)) t T) -> (Membership.mem.{u1, u1} M' (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) M' (Submodule.setLike.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)) (HSub.hSub.{u1, u1, u1} M' M' M' (instHSub.{u1} M' (SubNegMonoid.toSub.{u1} M' (AddGroup.toSubNegMonoid.{u1} M' (AddCommGroup.toAddGroup.{u1} M' _inst_9)))) s t) (Sup.sup.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (Submodule.completeLattice.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)))) S T))
-Case conversion may be inaccurate. Consider using '#align submodule.sub_mem_sup Submodule.sub_mem_supₓ'. -/
 theorem sub_mem_sup {R' M' : Type _} [Ring R'] [AddCommGroup M'] [Module R' M']
     {S T : Submodule R' M'} {s t : M'} (hs : s ∈ S) (ht : t ∈ T) : s - t ∈ S ⊔ T :=
   by
@@ -496,12 +304,6 @@ theorem sub_mem_sup {R' M' : Type _} [Ring R'] [AddCommGroup M'] [Module R' M']
   exact add_mem_sup hs (neg_mem ht)
 #align submodule.sub_mem_sup Submodule.sub_mem_sup
 
-/- warning: submodule.mem_supr_of_mem -> Submodule.mem_iSup_of_mem is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Sort.{u3}} {b : M} {p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} (i : ι), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) b (p i)) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) b (iSup.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) ι (fun (i : ι) => p i)))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Sort.{u3}} {b : M} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)} (i : ι), (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) b (p i)) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) b (iSup.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => p i)))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_supr_of_mem Submodule.mem_iSup_of_memₓ'. -/
 theorem mem_iSup_of_mem {ι : Sort _} {b : M} {p : ι → Submodule R M} (i : ι) (h : b ∈ p i) :
     b ∈ ⨆ i, p i :=
   have : p i ≤ ⨆ i, p i := le_iSup p i
@@ -510,23 +312,11 @@ theorem mem_iSup_of_mem {ι : Sort _} {b : M} {p : ι → Submodule R M} (i : ι
 
 open BigOperators
 
-/- warning: submodule.sum_mem_supr -> Submodule.sum_mem_iSup is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Type.{u3}} [_inst_8 : Fintype.{u3} ι] {f : ι -> M} {p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (f i) (p i)) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u2, u3} M ι _inst_3 (Finset.univ.{u3} ι _inst_8) (fun (i : ι) => f i)) (iSup.{u2, succ u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) ι (fun (i : ι) => p i)))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} [_inst_8 : Fintype.{u3} ι] {f : ι -> M} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (f i) (p i)) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u1, u3} M ι _inst_3 (Finset.univ.{u3} ι _inst_8) (fun (i : ι) => f i)) (iSup.{u1, succ u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => p i)))
-Case conversion may be inaccurate. Consider using '#align submodule.sum_mem_supr Submodule.sum_mem_iSupₓ'. -/
 theorem sum_mem_iSup {ι : Type _} [Fintype ι] {f : ι → M} {p : ι → Submodule R M}
     (h : ∀ i, f i ∈ p i) : (∑ i, f i) ∈ ⨆ i, p i :=
   sum_mem fun i hi => mem_iSup_of_mem i (h i)
 #align submodule.sum_mem_supr Submodule.sum_mem_iSup
 
-/- warning: submodule.sum_mem_bsupr -> Submodule.sum_mem_biSup is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Type.{u3}} {s : Finset.{u3} ι} {f : ι -> M} {p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), (Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (f i) (p i))) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u2, u3} M ι _inst_3 s (fun (i : ι) => f i)) (iSup.{u2, succ u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) ι (fun (i : ι) => iSup.{u2, 0} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) (fun (H : Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) => p i))))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} {s : Finset.{u3} ι} {f : ι -> M} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (f i) (p i))) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u1, u3} M ι _inst_3 s (fun (i : ι) => f i)) (iSup.{u1, succ u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => iSup.{u1, 0} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) (fun (H : Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) => p i))))
-Case conversion may be inaccurate. Consider using '#align submodule.sum_mem_bsupr Submodule.sum_mem_biSupₓ'. -/
 theorem sum_mem_biSup {ι : Type _} {s : Finset ι} {f : ι → M} {p : ι → Submodule R M}
     (h : ∀ i ∈ s, f i ∈ p i) : (∑ i in s, f i) ∈ ⨆ i ∈ s, p i :=
   sum_mem fun i hi => mem_iSup_of_mem i <| mem_iSup_of_mem hi (h i hi)
@@ -535,45 +325,21 @@ theorem sum_mem_biSup {ι : Type _} {s : Finset ι} {f : ι → M} {p : ι → S
 /-! Note that `submodule.mem_supr` is provided in `linear_algebra/basic.lean`. -/
 
 
-/- warning: submodule.mem_Sup_of_mem -> Submodule.mem_sSup_of_mem is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {s : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (Membership.Mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.hasMem.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) s S) -> (forall {x : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x s) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (SupSet.sSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) S)))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {s : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) s S) -> (forall {x : M}, (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x s) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (SupSet.sSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4)) S)))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_Sup_of_mem Submodule.mem_sSup_of_memₓ'. -/
 theorem mem_sSup_of_mem {S : Set (Submodule R M)} {s : Submodule R M} (hs : s ∈ S) :
     ∀ {x : M}, x ∈ s → x ∈ sSup S :=
   show s ≤ sSup S from le_sSup hs
 #align submodule.mem_Sup_of_mem Submodule.mem_sSup_of_mem
 
-/- warning: submodule.disjoint_def -> Submodule.disjoint_def is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {p' : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, Iff (Disjoint.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Submodule.orderBot.{u1, u2} R M _inst_1 _inst_3 _inst_4) p p') (forall (x : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p') -> (Eq.{succ u2} M x (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))))))))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {p' : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4}, Iff (Disjoint.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) p p') (forall (x : M), (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p') -> (Eq.{succ u1} M x (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))
-Case conversion may be inaccurate. Consider using '#align submodule.disjoint_def Submodule.disjoint_defₓ'. -/
 theorem disjoint_def {p p' : Submodule R M} : Disjoint p p' ↔ ∀ x ∈ p, x ∈ p' → x = (0 : M) :=
   disjoint_iff_inf_le.trans <| show (∀ x, x ∈ p ∧ x ∈ p' → x ∈ ({0} : Set M)) ↔ _ by simp
 #align submodule.disjoint_def Submodule.disjoint_def
 
-/- warning: submodule.disjoint_def' -> Submodule.disjoint_def' is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {p' : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, Iff (Disjoint.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Submodule.orderBot.{u1, u2} R M _inst_1 _inst_3 _inst_4) p p') (forall (x : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p) -> (forall (y : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) y p') -> (Eq.{succ u2} M x y) -> (Eq.{succ u2} M x (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))))))
-but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {p' : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4}, Iff (Disjoint.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) p p') (forall (x : M), (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) -> (forall (y : M), (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) y p') -> (Eq.{succ u1} M x y) -> (Eq.{succ u1} M x (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))
-Case conversion may be inaccurate. Consider using '#align submodule.disjoint_def' Submodule.disjoint_def'ₓ'. -/
 theorem disjoint_def' {p p' : Submodule R M} :
     Disjoint p p' ↔ ∀ x ∈ p, ∀ y ∈ p', x = y → x = (0 : M) :=
   disjoint_def.trans
     ⟨fun h x hx y hy hxy => h x hx <| hxy.symm ▸ hy, fun h x hx hx' => h _ hx x hx' rfl⟩
 #align submodule.disjoint_def' Submodule.disjoint_def'
 
-/- warning: submodule.eq_zero_of_coe_mem_of_disjoint -> Submodule.eq_zero_of_coe_mem_of_disjoint is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (Disjoint.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Submodule.orderBot.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q) -> (forall {a : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) M (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) M (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) M (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) M (coeSubtype.{succ u2} M (fun (x : M) => Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p))))) a) q) -> (Eq.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) a (OfNat.ofNat.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) 0 (OfNat.mk.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) 0 (Zero.zero.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) (Submodule.zero.{u1, u2} R M _inst_1 _inst_3 _inst_4 p))))))
-but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (Disjoint.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderSetLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q) -> (forall {a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p)}, (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) p)) a) q) -> (Eq.{succ u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p)) a (OfNat.ofNat.{u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p)) 0 (Zero.toOfNat0.{u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p)) (Submodule.zero.{u1, u2} R M _inst_1 _inst_3 _inst_4 p)))))
-Case conversion may be inaccurate. Consider using '#align submodule.eq_zero_of_coe_mem_of_disjoint Submodule.eq_zero_of_coe_mem_of_disjointₓ'. -/
 theorem eq_zero_of_coe_mem_of_disjoint (hpq : Disjoint p q) {a : p} (ha : (a : M) ∈ q) : a = 0 := by
   exact_mod_cast disjoint_def.mp hpq a (coe_mem a) ha
 #align submodule.eq_zero_of_coe_mem_of_disjoint Submodule.eq_zero_of_coe_mem_of_disjoint
@@ -582,12 +348,6 @@ end Submodule
 
 section NatSubmodule
 
-/- warning: add_submonoid.to_nat_submodule -> AddSubmonoid.toNatSubmodule is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M], OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M], OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))
-Case conversion may be inaccurate. Consider using '#align add_submonoid.to_nat_submodule AddSubmonoid.toNatSubmoduleₓ'. -/
 /-- An additive submonoid is equivalent to a ℕ-submodule. -/
 def AddSubmonoid.toNatSubmodule : AddSubmonoid M ≃o Submodule ℕ M
     where
@@ -598,35 +358,23 @@ def AddSubmonoid.toNatSubmodule : AddSubmonoid M ≃o Submodule ℕ M
   map_rel_iff' a b := Iff.rfl
 #align add_submonoid.to_nat_submodule AddSubmonoid.toNatSubmodule
 
-/- warning: add_submonoid.to_nat_submodule_symm -> AddSubmonoid.toNatSubmodule_symm is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align add_submonoid.to_nat_submodule_symm AddSubmonoid.toNatSubmodule_symmₓ'. -/
 @[simp]
 theorem AddSubmonoid.toNatSubmodule_symm :
     ⇑(AddSubmonoid.toNatSubmodule.symm : _ ≃o AddSubmonoid M) = Submodule.toAddSubmonoid :=
   rfl
 #align add_submonoid.to_nat_submodule_symm AddSubmonoid.toNatSubmodule_symm
 
-/- warning: add_submonoid.coe_to_nat_submodule -> AddSubmonoid.coe_toNatSubmodule is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align add_submonoid.coe_to_nat_submodule AddSubmonoid.coe_toNatSubmoduleₓ'. -/
 @[simp]
 theorem AddSubmonoid.coe_toNatSubmodule (S : AddSubmonoid M) : (S.toNatSubmodule : Set M) = S :=
   rfl
 #align add_submonoid.coe_to_nat_submodule AddSubmonoid.coe_toNatSubmodule
 
-/- warning: add_submonoid.to_nat_submodule_to_add_submonoid -> AddSubmonoid.toNatSubmodule_toAddSubmonoid is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align add_submonoid.to_nat_submodule_to_add_submonoid AddSubmonoid.toNatSubmodule_toAddSubmonoidₓ'. -/
 @[simp]
 theorem AddSubmonoid.toNatSubmodule_toAddSubmonoid (S : AddSubmonoid M) :
     S.toNatSubmodule.toAddSubmonoid = S :=
   AddSubmonoid.toNatSubmodule.symm_apply_apply S
 #align add_submonoid.to_nat_submodule_to_add_submonoid AddSubmonoid.toNatSubmodule_toAddSubmonoid
 
-/- warning: submodule.to_add_submonoid_to_nat_submodule -> Submodule.toAddSubmonoid_toNatSubmodule is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align submodule.to_add_submonoid_to_nat_submodule Submodule.toAddSubmonoid_toNatSubmoduleₓ'. -/
 @[simp]
 theorem Submodule.toAddSubmonoid_toNatSubmodule (S : Submodule ℕ M) :
     S.toAddSubmonoid.toNatSubmodule = S :=
@@ -641,12 +389,6 @@ section IntSubmodule
 
 variable [AddCommGroup M]
 
-/- warning: add_subgroup.to_int_submodule -> AddSubgroup.toIntSubmodule is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M], OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M], OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))
-Case conversion may be inaccurate. Consider using '#align add_subgroup.to_int_submodule AddSubgroup.toIntSubmoduleₓ'. -/
 /-- An additive subgroup is equivalent to a ℤ-submodule. -/
 def AddSubgroup.toIntSubmodule : AddSubgroup M ≃o Submodule ℤ M
     where
@@ -657,35 +399,23 @@ def AddSubgroup.toIntSubmodule : AddSubgroup M ≃o Submodule ℤ M
   map_rel_iff' a b := Iff.rfl
 #align add_subgroup.to_int_submodule AddSubgroup.toIntSubmodule
 
-/- warning: add_subgroup.to_int_submodule_symm -> AddSubgroup.toIntSubmodule_symm is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align add_subgroup.to_int_submodule_symm AddSubgroup.toIntSubmodule_symmₓ'. -/
 @[simp]
 theorem AddSubgroup.toIntSubmodule_symm :
     ⇑(AddSubgroup.toIntSubmodule.symm : _ ≃o AddSubgroup M) = Submodule.toAddSubgroup :=
   rfl
 #align add_subgroup.to_int_submodule_symm AddSubgroup.toIntSubmodule_symm
 
-/- warning: add_subgroup.coe_to_int_submodule -> AddSubgroup.coe_toIntSubmodule is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align add_subgroup.coe_to_int_submodule AddSubgroup.coe_toIntSubmoduleₓ'. -/
 @[simp]
 theorem AddSubgroup.coe_toIntSubmodule (S : AddSubgroup M) : (S.toIntSubmodule : Set M) = S :=
   rfl
 #align add_subgroup.coe_to_int_submodule AddSubgroup.coe_toIntSubmodule
 
-/- warning: add_subgroup.to_int_submodule_to_add_subgroup -> AddSubgroup.toIntSubmodule_toAddSubgroup is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align add_subgroup.to_int_submodule_to_add_subgroup AddSubgroup.toIntSubmodule_toAddSubgroupₓ'. -/
 @[simp]
 theorem AddSubgroup.toIntSubmodule_toAddSubgroup (S : AddSubgroup M) :
     S.toIntSubmodule.toAddSubgroup = S :=
   AddSubgroup.toIntSubmodule.symm_apply_apply S
 #align add_subgroup.to_int_submodule_to_add_subgroup AddSubgroup.toIntSubmodule_toAddSubgroup
 
-/- warning: submodule.to_add_subgroup_to_int_submodule -> Submodule.toAddSubgroup_toIntSubmodule is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align submodule.to_add_subgroup_to_int_submodule Submodule.toAddSubgroup_toIntSubmoduleₓ'. -/
 @[simp]
 theorem Submodule.toAddSubgroup_toIntSubmodule (S : Submodule ℤ M) :
     S.toAddSubgroup.toIntSubmodule = S :=
Diff
@@ -162,10 +162,8 @@ lean 3 declaration is
 but is expected to have type
   forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4), Iff (Ne.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Exists.{succ u1} M (fun (x : M) => And (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) (Ne.{succ u1} M x (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))
 Case conversion may be inaccurate. Consider using '#align submodule.ne_bot_iff Submodule.ne_bot_iffₓ'. -/
-protected theorem ne_bot_iff (p : Submodule R M) : p ≠ ⊥ ↔ ∃ x ∈ p, x ≠ (0 : M) :=
-  by
-  haveI := Classical.propDecidable
-  simp_rw [Ne.def, p.eq_bot_iff, not_forall]
+protected theorem ne_bot_iff (p : Submodule R M) : p ≠ ⊥ ↔ ∃ x ∈ p, x ≠ (0 : M) := by
+  haveI := Classical.propDecidable; simp_rw [Ne.def, p.eq_bot_iff, not_forall]
 #align submodule.ne_bot_iff Submodule.ne_bot_iff
 
 /- warning: submodule.nonzero_mem_of_bot_lt -> Submodule.nonzero_mem_of_bot_lt is a dubious translation:
@@ -202,18 +200,10 @@ def botEquivPUnit : (⊥ : Submodule R M) ≃ₗ[R] PUnit
     where
   toFun x := PUnit.unit
   invFun x := 0
-  map_add' := by
-    intros
-    ext
-  map_smul' := by
-    intros
-    ext
-  left_inv := by
-    intro x
-    ext
-  right_inv := by
-    intro x
-    ext
+  map_add' := by intros ; ext
+  map_smul' := by intros ; ext
+  left_inv := by intro x; ext
+  right_inv := by intro x; ext
 #align submodule.bot_equiv_punit Submodule.botEquivPUnit
 
 /- warning: submodule.eq_bot_of_subsingleton -> Submodule.eq_bot_of_subsingleton is a dubious translation:
@@ -324,19 +314,10 @@ def topEquiv : (⊤ : Submodule R M) ≃ₗ[R] M
     where
   toFun x := x
   invFun x := ⟨x, by simp⟩
-  map_add' := by
-    intros
-    rfl
-  map_smul' := by
-    intros
-    rfl
-  left_inv := by
-    intro x
-    ext
-    rfl
-  right_inv := by
-    intro x
-    rfl
+  map_add' := by intros ; rfl
+  map_smul' := by intros ; rfl
+  left_inv := by intro x; ext; rfl
+  right_inv := by intro x; rfl
 #align submodule.top_equiv Submodule.topEquiv
 
 instance : InfSet (Submodule R M) :=
Diff
@@ -348,11 +348,9 @@ instance : InfSet (Submodule R M) :=
 
 private theorem Inf_le' {S : Set (Submodule R M)} {p} : p ∈ S → sInf S ≤ p :=
   Set.biInter_subset_of_mem
-#align submodule.Inf_le' submodule.Inf_le'
 
 private theorem le_Inf' {S : Set (Submodule R M)} {p} : (∀ q ∈ S, p ≤ q) → p ≤ sInf S :=
   Set.subset_iInter₂
-#align submodule.le_Inf' submodule.le_Inf'
 
 instance : Inf (Submodule R M) :=
   ⟨fun p q =>
@@ -620,10 +618,7 @@ def AddSubmonoid.toNatSubmodule : AddSubmonoid M ≃o Submodule ℕ M
 #align add_submonoid.to_nat_submodule AddSubmonoid.toNatSubmodule
 
 /- warning: add_submonoid.to_nat_submodule_symm -> AddSubmonoid.toNatSubmodule_symm is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) -> (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (fun (_x : RelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))))) => (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) -> (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (RelIso.hasCoeToFun.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))))) (OrderIso.symm.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) -> (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (_x : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (OrderIso.symm.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))
+<too large>
 Case conversion may be inaccurate. Consider using '#align add_submonoid.to_nat_submodule_symm AddSubmonoid.toNatSubmodule_symmₓ'. -/
 @[simp]
 theorem AddSubmonoid.toNatSubmodule_symm :
@@ -632,10 +627,7 @@ theorem AddSubmonoid.toNatSubmodule_symm :
 #align add_submonoid.to_nat_submodule_symm AddSubmonoid.toNatSubmodule_symm
 
 /- warning: add_submonoid.coe_to_nat_submodule -> AddSubmonoid.coe_toNatSubmodule is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (Set.{u1} M) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) M (Submodule.setLike.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (fun (_x : RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) => (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) -> (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (RelIso.hasCoeToFun.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) M (AddSubmonoid.setLike.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))) S)
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) M (Submodule.setLike.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) (SetLike.coe.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) M (AddSubmonoid.instSetLikeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) S)
+<too large>
 Case conversion may be inaccurate. Consider using '#align add_submonoid.coe_to_nat_submodule AddSubmonoid.coe_toNatSubmoduleₓ'. -/
 @[simp]
 theorem AddSubmonoid.coe_toNatSubmodule (S : AddSubmonoid M) : (S.toNatSubmodule : Set M) = S :=
@@ -643,10 +635,7 @@ theorem AddSubmonoid.coe_toNatSubmodule (S : AddSubmonoid M) : (S.toNatSubmodule
 #align add_submonoid.coe_to_nat_submodule AddSubmonoid.coe_toNatSubmodule
 
 /- warning: add_submonoid.to_nat_submodule_to_add_submonoid -> AddSubmonoid.toNatSubmodule_toAddSubmonoid is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (fun (_x : RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) => (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) -> (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (RelIso.hasCoeToFun.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) S
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) S
+<too large>
 Case conversion may be inaccurate. Consider using '#align add_submonoid.to_nat_submodule_to_add_submonoid AddSubmonoid.toNatSubmodule_toAddSubmonoidₓ'. -/
 @[simp]
 theorem AddSubmonoid.toNatSubmodule_toAddSubmonoid (S : AddSubmonoid M) :
@@ -655,10 +644,7 @@ theorem AddSubmonoid.toNatSubmodule_toAddSubmonoid (S : AddSubmonoid M) :
 #align add_submonoid.to_nat_submodule_to_add_submonoid AddSubmonoid.toNatSubmodule_toAddSubmonoid
 
 /- warning: submodule.to_add_submonoid_to_nat_submodule -> Submodule.toAddSubmonoid_toNatSubmodule is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)), Eq.{succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (fun (_x : RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) => (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) -> (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (RelIso.hasCoeToFun.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) S)) S
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)), Eq.{succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) S)) S
+<too large>
 Case conversion may be inaccurate. Consider using '#align submodule.to_add_submonoid_to_nat_submodule Submodule.toAddSubmonoid_toNatSubmoduleₓ'. -/
 @[simp]
 theorem Submodule.toAddSubmonoid_toNatSubmodule (S : Submodule ℕ M) :
@@ -691,10 +677,7 @@ def AddSubgroup.toIntSubmodule : AddSubgroup M ≃o Submodule ℤ M
 #align add_subgroup.to_int_submodule AddSubgroup.toIntSubmodule
 
 /- warning: add_subgroup.to_int_submodule_symm -> AddSubgroup.toIntSubmodule_symm is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) -> (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))))) => (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) -> (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))))) (OrderIso.symm.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1))) (Submodule.toAddSubgroup.{0, u1} Int M Int.ring _inst_1 (AddCommGroup.intModule.{u1} M _inst_1))
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) -> (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (_x : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (OrderIso.symm.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1))) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1))
+<too large>
 Case conversion may be inaccurate. Consider using '#align add_subgroup.to_int_submodule_symm AddSubgroup.toIntSubmodule_symmₓ'. -/
 @[simp]
 theorem AddSubgroup.toIntSubmodule_symm :
@@ -703,10 +686,7 @@ theorem AddSubgroup.toIntSubmodule_symm :
 #align add_subgroup.to_int_submodule_symm AddSubgroup.toIntSubmodule_symm
 
 /- warning: add_subgroup.coe_to_int_submodule -> AddSubgroup.coe_toIntSubmodule is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (Set.{u1} M) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) M (Submodule.setLike.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) => (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) -> (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) M (AddSubgroup.setLike.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))) S)
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) M (Submodule.setLike.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) (SetLike.coe.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) S)
+<too large>
 Case conversion may be inaccurate. Consider using '#align add_subgroup.coe_to_int_submodule AddSubgroup.coe_toIntSubmoduleₓ'. -/
 @[simp]
 theorem AddSubgroup.coe_toIntSubmodule (S : AddSubgroup M) : (S.toIntSubmodule : Set M) = S :=
@@ -714,10 +694,7 @@ theorem AddSubgroup.coe_toIntSubmodule (S : AddSubgroup M) : (S.toIntSubmodule :
 #align add_subgroup.coe_to_int_submodule AddSubgroup.coe_toIntSubmodule
 
 /- warning: add_subgroup.to_int_submodule_to_add_subgroup -> AddSubgroup.toIntSubmodule_toAddSubgroup is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.toAddSubgroup.{0, u1} Int M Int.ring _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) => (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) -> (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) S
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) S
+<too large>
 Case conversion may be inaccurate. Consider using '#align add_subgroup.to_int_submodule_to_add_subgroup AddSubgroup.toIntSubmodule_toAddSubgroupₓ'. -/
 @[simp]
 theorem AddSubgroup.toIntSubmodule_toAddSubgroup (S : AddSubgroup M) :
@@ -726,10 +703,7 @@ theorem AddSubgroup.toIntSubmodule_toAddSubgroup (S : AddSubgroup M) :
 #align add_subgroup.to_int_submodule_to_add_subgroup AddSubgroup.toIntSubmodule_toAddSubgroup
 
 /- warning: submodule.to_add_subgroup_to_int_submodule -> Submodule.toAddSubgroup_toIntSubmodule is a dubious translation:
-lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)), Eq.{succ u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) => (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) -> (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) (Submodule.toAddSubgroup.{0, u1} Int M Int.ring _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) S)) S
-but is expected to have type
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)), Eq.{succ u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) S)) S
+<too large>
 Case conversion may be inaccurate. Consider using '#align submodule.to_add_subgroup_to_int_submodule Submodule.toAddSubgroup_toIntSubmoduleₓ'. -/
 @[simp]
 theorem Submodule.toAddSubgroup_toIntSubmodule (S : Submodule ℤ M) :
Diff
@@ -623,7 +623,7 @@ def AddSubmonoid.toNatSubmodule : AddSubmonoid M ≃o Submodule ℕ M
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) -> (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (fun (_x : RelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))))) => (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) -> (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (RelIso.hasCoeToFun.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))))) (OrderIso.symm.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) -> (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (_x : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (OrderIso.symm.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))
+  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) -> (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (_x : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (OrderIso.symm.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))
 Case conversion may be inaccurate. Consider using '#align add_submonoid.to_nat_submodule_symm AddSubmonoid.toNatSubmodule_symmₓ'. -/
 @[simp]
 theorem AddSubmonoid.toNatSubmodule_symm :
@@ -635,7 +635,7 @@ theorem AddSubmonoid.toNatSubmodule_symm :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (Set.{u1} M) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) M (Submodule.setLike.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (fun (_x : RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) => (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) -> (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (RelIso.hasCoeToFun.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) M (AddSubmonoid.setLike.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))) S)
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) M (Submodule.setLike.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) (SetLike.coe.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) M (AddSubmonoid.instSetLikeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) S)
+  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) M (Submodule.setLike.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) (SetLike.coe.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) M (AddSubmonoid.instSetLikeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) S)
 Case conversion may be inaccurate. Consider using '#align add_submonoid.coe_to_nat_submodule AddSubmonoid.coe_toNatSubmoduleₓ'. -/
 @[simp]
 theorem AddSubmonoid.coe_toNatSubmodule (S : AddSubmonoid M) : (S.toNatSubmodule : Set M) = S :=
@@ -646,7 +646,7 @@ theorem AddSubmonoid.coe_toNatSubmodule (S : AddSubmonoid M) : (S.toNatSubmodule
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (fun (_x : RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) => (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) -> (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (RelIso.hasCoeToFun.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) S
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) S
+  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) S
 Case conversion may be inaccurate. Consider using '#align add_submonoid.to_nat_submodule_to_add_submonoid AddSubmonoid.toNatSubmodule_toAddSubmonoidₓ'. -/
 @[simp]
 theorem AddSubmonoid.toNatSubmodule_toAddSubmonoid (S : AddSubmonoid M) :
@@ -658,7 +658,7 @@ theorem AddSubmonoid.toNatSubmodule_toAddSubmonoid (S : AddSubmonoid M) :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)), Eq.{succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (fun (_x : RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) => (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) -> (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (RelIso.hasCoeToFun.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) S)) S
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)), Eq.{succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) S)) S
+  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)), Eq.{succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) S)) S
 Case conversion may be inaccurate. Consider using '#align submodule.to_add_submonoid_to_nat_submodule Submodule.toAddSubmonoid_toNatSubmoduleₓ'. -/
 @[simp]
 theorem Submodule.toAddSubmonoid_toNatSubmodule (S : Submodule ℕ M) :
@@ -694,7 +694,7 @@ def AddSubgroup.toIntSubmodule : AddSubgroup M ≃o Submodule ℤ M
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) -> (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))))) => (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) -> (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))))) (OrderIso.symm.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1))) (Submodule.toAddSubgroup.{0, u1} Int M Int.ring _inst_1 (AddCommGroup.intModule.{u1} M _inst_1))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) -> (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (_x : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (OrderIso.symm.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1))) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1))
+  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) -> (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (_x : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (OrderIso.symm.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1))) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1))
 Case conversion may be inaccurate. Consider using '#align add_subgroup.to_int_submodule_symm AddSubgroup.toIntSubmodule_symmₓ'. -/
 @[simp]
 theorem AddSubgroup.toIntSubmodule_symm :
@@ -706,7 +706,7 @@ theorem AddSubgroup.toIntSubmodule_symm :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (Set.{u1} M) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) M (Submodule.setLike.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) => (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) -> (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) M (AddSubgroup.setLike.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))) S)
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) M (Submodule.setLike.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) (SetLike.coe.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) S)
+  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) M (Submodule.setLike.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) (SetLike.coe.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) S)
 Case conversion may be inaccurate. Consider using '#align add_subgroup.coe_to_int_submodule AddSubgroup.coe_toIntSubmoduleₓ'. -/
 @[simp]
 theorem AddSubgroup.coe_toIntSubmodule (S : AddSubgroup M) : (S.toIntSubmodule : Set M) = S :=
@@ -717,7 +717,7 @@ theorem AddSubgroup.coe_toIntSubmodule (S : AddSubgroup M) : (S.toIntSubmodule :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.toAddSubgroup.{0, u1} Int M Int.ring _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) => (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) -> (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) S
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) S
+  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) S
 Case conversion may be inaccurate. Consider using '#align add_subgroup.to_int_submodule_to_add_subgroup AddSubgroup.toIntSubmodule_toAddSubgroupₓ'. -/
 @[simp]
 theorem AddSubgroup.toIntSubmodule_toAddSubgroup (S : AddSubgroup M) :
@@ -729,7 +729,7 @@ theorem AddSubgroup.toIntSubmodule_toAddSubgroup (S : AddSubgroup M) :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)), Eq.{succ u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) => (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) -> (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) (Submodule.toAddSubgroup.{0, u1} Int M Int.ring _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) S)) S
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)), Eq.{succ u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) S)) S
+  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)), Eq.{succ u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1285 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1287 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1285 x._@.Mathlib.Order.Hom.Basic._hyg.1287) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1300 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1302 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1300 x._@.Mathlib.Order.Hom.Basic._hyg.1302))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) S)) S
 Case conversion may be inaccurate. Consider using '#align submodule.to_add_subgroup_to_int_submodule Submodule.toAddSubgroup_toIntSubmoduleₓ'. -/
 @[simp]
 theorem Submodule.toAddSubgroup_toIntSubmodule (S : Submodule ℤ M) :
Diff
@@ -170,7 +170,7 @@ protected theorem ne_bot_iff (p : Submodule R M) : p ≠ ⊥ ↔ ∃ x ∈ p, x
 
 /- warning: submodule.nonzero_mem_of_bot_lt -> Submodule.nonzero_mem_of_bot_lt is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (LT.lt.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Preorder.toLT.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) -> (Exists.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) (fun (a : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) => Ne.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) a (OfNat.ofNat.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) 0 (OfNat.mk.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) 0 (Zero.zero.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) (Submodule.zero.{u1, u2} R M _inst_1 _inst_3 _inst_4 p))))))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (LT.lt.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Preorder.toHasLt.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) -> (Exists.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) (fun (a : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) => Ne.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) a (OfNat.ofNat.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) 0 (OfNat.mk.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) 0 (Zero.zero.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) (Submodule.zero.{u1, u2} R M _inst_1 _inst_3 _inst_4 p))))))
 but is expected to have type
   forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4}, (LT.lt.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Preorder.toLT.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instPartialOrder.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) (Bot.bot.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) p) -> (Exists.{succ u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) (fun (a : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) => Ne.{succ u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) a (OfNat.ofNat.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) 0 (Zero.toOfNat0.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) (Submodule.zero.{u2, u1} R M _inst_1 _inst_3 _inst_4 p)))))
 Case conversion may be inaccurate. Consider using '#align submodule.nonzero_mem_of_bot_lt Submodule.nonzero_mem_of_bot_ltₓ'. -/
@@ -605,7 +605,7 @@ section NatSubmodule
 
 /- warning: add_submonoid.to_nat_submodule -> AddSubmonoid.toNatSubmodule is a dubious translation:
 lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M], OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))
+  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M], OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))
 but is expected to have type
   forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M], OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))
 Case conversion may be inaccurate. Consider using '#align add_submonoid.to_nat_submodule AddSubmonoid.toNatSubmoduleₓ'. -/
@@ -621,7 +621,7 @@ def AddSubmonoid.toNatSubmodule : AddSubmonoid M ≃o Submodule ℕ M
 
 /- warning: add_submonoid.to_nat_submodule_symm -> AddSubmonoid.toNatSubmodule_symm is a dubious translation:
 lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) -> (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (fun (_x : RelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))))) => (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) -> (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (RelIso.hasCoeToFun.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))))) (OrderIso.symm.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))
+  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) -> (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (fun (_x : RelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))))) => (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) -> (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (RelIso.hasCoeToFun.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))))) (OrderIso.symm.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))
 but is expected to have type
   forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) -> (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (_x : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (OrderIso.symm.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))
 Case conversion may be inaccurate. Consider using '#align add_submonoid.to_nat_submodule_symm AddSubmonoid.toNatSubmodule_symmₓ'. -/
@@ -633,7 +633,7 @@ theorem AddSubmonoid.toNatSubmodule_symm :
 
 /- warning: add_submonoid.coe_to_nat_submodule -> AddSubmonoid.coe_toNatSubmodule is a dubious translation:
 lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (Set.{u1} M) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) M (Submodule.setLike.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (fun (_x : RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) => (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) -> (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (RelIso.hasCoeToFun.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) M (AddSubmonoid.setLike.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))) S)
+  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (Set.{u1} M) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) M (Submodule.setLike.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (fun (_x : RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) => (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) -> (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (RelIso.hasCoeToFun.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) M (AddSubmonoid.setLike.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))) S)
 but is expected to have type
   forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) M (Submodule.setLike.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) (SetLike.coe.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) M (AddSubmonoid.instSetLikeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) S)
 Case conversion may be inaccurate. Consider using '#align add_submonoid.coe_to_nat_submodule AddSubmonoid.coe_toNatSubmoduleₓ'. -/
@@ -644,7 +644,7 @@ theorem AddSubmonoid.coe_toNatSubmodule (S : AddSubmonoid M) : (S.toNatSubmodule
 
 /- warning: add_submonoid.to_nat_submodule_to_add_submonoid -> AddSubmonoid.toNatSubmodule_toAddSubmonoid is a dubious translation:
 lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (fun (_x : RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) => (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) -> (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (RelIso.hasCoeToFun.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) S
+  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (fun (_x : RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) => (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) -> (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (RelIso.hasCoeToFun.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) S
 but is expected to have type
   forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) S
 Case conversion may be inaccurate. Consider using '#align add_submonoid.to_nat_submodule_to_add_submonoid AddSubmonoid.toNatSubmodule_toAddSubmonoidₓ'. -/
@@ -656,7 +656,7 @@ theorem AddSubmonoid.toNatSubmodule_toAddSubmonoid (S : AddSubmonoid M) :
 
 /- warning: submodule.to_add_submonoid_to_nat_submodule -> Submodule.toAddSubmonoid_toNatSubmodule is a dubious translation:
 lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)), Eq.{succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (fun (_x : RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) => (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) -> (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (RelIso.hasCoeToFun.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) S)) S
+  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)), Eq.{succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (fun (_x : RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) => (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) -> (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (RelIso.hasCoeToFun.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toHasLe.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) S)) S
 but is expected to have type
   forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)), Eq.{succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) S)) S
 Case conversion may be inaccurate. Consider using '#align submodule.to_add_submonoid_to_nat_submodule Submodule.toAddSubmonoid_toNatSubmoduleₓ'. -/
@@ -676,7 +676,7 @@ variable [AddCommGroup M]
 
 /- warning: add_subgroup.to_int_submodule -> AddSubgroup.toIntSubmodule is a dubious translation:
 lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M], OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))
+  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M], OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))
 but is expected to have type
   forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M], OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))
 Case conversion may be inaccurate. Consider using '#align add_subgroup.to_int_submodule AddSubgroup.toIntSubmoduleₓ'. -/
@@ -692,7 +692,7 @@ def AddSubgroup.toIntSubmodule : AddSubgroup M ≃o Submodule ℤ M
 
 /- warning: add_subgroup.to_int_submodule_symm -> AddSubgroup.toIntSubmodule_symm is a dubious translation:
 lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) -> (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))))) => (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) -> (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))))) (OrderIso.symm.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1))) (Submodule.toAddSubgroup.{0, u1} Int M Int.ring _inst_1 (AddCommGroup.intModule.{u1} M _inst_1))
+  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) -> (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))))) => (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) -> (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))))) (OrderIso.symm.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1))) (Submodule.toAddSubgroup.{0, u1} Int M Int.ring _inst_1 (AddCommGroup.intModule.{u1} M _inst_1))
 but is expected to have type
   forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) -> (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (_x : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (OrderIso.symm.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1))) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1))
 Case conversion may be inaccurate. Consider using '#align add_subgroup.to_int_submodule_symm AddSubgroup.toIntSubmodule_symmₓ'. -/
@@ -704,7 +704,7 @@ theorem AddSubgroup.toIntSubmodule_symm :
 
 /- warning: add_subgroup.coe_to_int_submodule -> AddSubgroup.coe_toIntSubmodule is a dubious translation:
 lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (Set.{u1} M) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) M (Submodule.setLike.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) => (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) -> (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) M (AddSubgroup.setLike.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))) S)
+  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (Set.{u1} M) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) M (Submodule.setLike.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) => (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) -> (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) M (AddSubgroup.setLike.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))) S)
 but is expected to have type
   forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) M (Submodule.setLike.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) (SetLike.coe.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) S)
 Case conversion may be inaccurate. Consider using '#align add_subgroup.coe_to_int_submodule AddSubgroup.coe_toIntSubmoduleₓ'. -/
@@ -715,7 +715,7 @@ theorem AddSubgroup.coe_toIntSubmodule (S : AddSubgroup M) : (S.toIntSubmodule :
 
 /- warning: add_subgroup.to_int_submodule_to_add_subgroup -> AddSubgroup.toIntSubmodule_toAddSubgroup is a dubious translation:
 lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.toAddSubgroup.{0, u1} Int M Int.ring _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) => (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) -> (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) S
+  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.toAddSubgroup.{0, u1} Int M Int.ring _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) => (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) -> (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) S
 but is expected to have type
   forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) S
 Case conversion may be inaccurate. Consider using '#align add_subgroup.to_int_submodule_to_add_subgroup AddSubgroup.toIntSubmodule_toAddSubgroupₓ'. -/
@@ -727,7 +727,7 @@ theorem AddSubgroup.toIntSubmodule_toAddSubgroup (S : AddSubgroup M) :
 
 /- warning: submodule.to_add_subgroup_to_int_submodule -> Submodule.toAddSubgroup_toIntSubmodule is a dubious translation:
 lean 3 declaration is
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)), Eq.{succ u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) => (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) -> (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) (Submodule.toAddSubgroup.{0, u1} Int M Int.ring _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) S)) S
+  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)), Eq.{succ u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) => (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) -> (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toHasLe.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) (Submodule.toAddSubgroup.{0, u1} Int M Int.ring _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) S)) S
 but is expected to have type
   forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)), Eq.{succ u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) S)) S
 Case conversion may be inaccurate. Consider using '#align submodule.to_add_subgroup_to_int_submodule Submodule.toAddSubgroup_toIntSubmoduleₓ'. -/
Diff
@@ -194,7 +194,7 @@ theorem exists_mem_ne_zero_of_ne_bot {p : Submodule R M} (h : p ≠ ⊥) : ∃ b
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], LinearEquiv.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) PUnit.{succ u3} (Submodule.addCommMonoid.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (AddCommGroup.toAddCommMonoid.{u3} PUnit.{succ u3} PUnit.addCommGroup.{u3}) (Submodule.module.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (PUnit.module.{u1, u3} R _inst_1)
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], LinearEquiv.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) PUnit.{succ u3} (Submodule.addCommMonoid.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} PUnit.{succ u3} (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} PUnit.{succ u3} PUnit.linearOrderedCancelAddCommMonoid.{u3})) (Submodule.module.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (PUnit.module.{u1, u3} R _inst_1)
+  forall {R : Type.{u2}} {M : Type.{u3}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u3} M] [_inst_4 : Module.{u2, u3} R M _inst_1 _inst_3], LinearEquiv.{u2, u2, u3, u1} R R _inst_1 _inst_1 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R _inst_1)) (RingHomInvPair.ids.{u2} R _inst_1) (RingHomInvPair.ids.{u2} R _inst_1) (Subtype.{succ u3} M (fun (x : M) => Membership.mem.{u3, u3} M (Submodule.{u2, u3} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u3, u3} (Submodule.{u2, u3} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u3} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u3} R M _inst_1 _inst_3 _inst_4)))) PUnit.{succ u1} (Submodule.addCommMonoid.{u2, u3} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u3} R M _inst_1 _inst_3 _inst_4))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} PUnit.{succ u1} (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} PUnit.{succ u1} PUnit.linearOrderedCancelAddCommMonoid.{u1})) (Submodule.module.{u2, u3} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u3} (Submodule.{u2, u3} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u3} R M _inst_1 _inst_3 _inst_4))) (PUnit.module.{u2, u1} R _inst_1)
 Case conversion may be inaccurate. Consider using '#align submodule.bot_equiv_punit Submodule.botEquivPUnitₓ'. -/
 /-- The bottom submodule is linearly equivalent to punit as an `R`-module. -/
 @[simps]
Diff
@@ -346,12 +346,12 @@ instance : InfSet (Submodule R M) :=
       add_mem' := by simp (config := { contextual := true }) [add_mem]
       smul_mem' := by simp (config := { contextual := true }) [smul_mem] }⟩
 
-private theorem Inf_le' {S : Set (Submodule R M)} {p} : p ∈ S → infₛ S ≤ p :=
-  Set.binterᵢ_subset_of_mem
+private theorem Inf_le' {S : Set (Submodule R M)} {p} : p ∈ S → sInf S ≤ p :=
+  Set.biInter_subset_of_mem
 #align submodule.Inf_le' submodule.Inf_le'
 
-private theorem le_Inf' {S : Set (Submodule R M)} {p} : (∀ q ∈ S, p ≤ q) → p ≤ infₛ S :=
-  Set.subset_interᵢ₂
+private theorem le_Inf' {S : Set (Submodule R M)} {p} : (∀ q ∈ S, p ≤ q) → p ≤ sInf S :=
+  Set.subset_iInter₂
 #align submodule.le_Inf' submodule.le_Inf'
 
 instance : Inf (Submodule R M) :=
@@ -364,20 +364,20 @@ instance : Inf (Submodule R M) :=
 instance : CompleteLattice (Submodule R M) :=
   { Submodule.orderTop, Submodule.orderBot,
     SetLike.partialOrder with
-    sup := fun a b => infₛ { x | a ≤ x ∧ b ≤ x }
+    sup := fun a b => sInf { x | a ≤ x ∧ b ≤ x }
     le_sup_left := fun a b => le_Inf' fun x ⟨ha, hb⟩ => ha
     le_sup_right := fun a b => le_Inf' fun x ⟨ha, hb⟩ => hb
-    sup_le := fun a b c h₁ h₂ => infₛ_le' ⟨h₁, h₂⟩
+    sup_le := fun a b c h₁ h₂ => sInf_le' ⟨h₁, h₂⟩
     inf := (· ⊓ ·)
     le_inf := fun a b c => Set.subset_inter
     inf_le_left := fun a b => Set.inter_subset_left _ _
     inf_le_right := fun a b => Set.inter_subset_right _ _
-    supₛ := fun tt => infₛ { t | ∀ t' ∈ tt, t' ≤ t }
+    sSup := fun tt => sInf { t | ∀ t' ∈ tt, t' ≤ t }
     le_sup := fun s p hs => le_Inf' fun q hq => hq _ hs
-    sup_le := fun s p hs => infₛ_le' hs
-    infₛ := infₛ
+    sup_le := fun s p hs => sInf_le' hs
+    sInf := sInf
     le_inf := fun s a => le_Inf'
-    inf_le := fun s a => infₛ_le' }
+    inf_le := fun s a => sInf_le' }
 
 /- warning: submodule.inf_coe -> Submodule.inf_coe is a dubious translation:
 lean 3 declaration is
@@ -401,22 +401,22 @@ theorem mem_inf {p q : Submodule R M} {x : M} : x ∈ p ⊓ q ↔ x ∈ p ∧ x
   Iff.rfl
 #align submodule.mem_inf Submodule.mem_inf
 
-/- warning: submodule.Inf_coe -> Submodule.infₛ_coe is a dubious translation:
+/- warning: submodule.Inf_coe -> Submodule.sInf_coe is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (P : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (InfSet.infₛ.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) P)) (Set.interᵢ.{u2, succ u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (fun (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) => Set.interᵢ.{u2, 0} M (Membership.Mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.hasMem.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) (fun (H : Membership.Mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.hasMem.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) p)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (P : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (InfSet.sInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) P)) (Set.iInter.{u2, succ u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (fun (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) => Set.iInter.{u2, 0} M (Membership.Mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.hasMem.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) (fun (H : Membership.Mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.hasMem.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) p)))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (P : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) (InfSet.infₛ.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) P)) (Set.interᵢ.{u2, succ u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (fun (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) => Set.interᵢ.{u2, 0} M (Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) (fun (H : Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) => SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) p)))
-Case conversion may be inaccurate. Consider using '#align submodule.Inf_coe Submodule.infₛ_coeₓ'. -/
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (P : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) (InfSet.sInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) P)) (Set.iInter.{u2, succ u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (fun (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) => Set.iInter.{u2, 0} M (Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) (fun (H : Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) => SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) p)))
+Case conversion may be inaccurate. Consider using '#align submodule.Inf_coe Submodule.sInf_coeₓ'. -/
 @[simp]
-theorem infₛ_coe (P : Set (Submodule R M)) : (↑(infₛ P) : Set M) = ⋂ p ∈ P, ↑p :=
+theorem sInf_coe (P : Set (Submodule R M)) : (↑(sInf P) : Set M) = ⋂ p ∈ P, ↑p :=
   rfl
-#align submodule.Inf_coe Submodule.infₛ_coe
+#align submodule.Inf_coe Submodule.sInf_coe
 
 /- warning: submodule.finset_inf_coe -> Submodule.finset_inf_coe is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Type.{u3}} (s : Finset.{u3} ι) (p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (Finset.inf.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) ι (Lattice.toSemilatticeInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Submodule.orderTop.{u1, u2} R M _inst_1 _inst_3 _inst_4) s p)) (Set.interᵢ.{u2, succ u3} M ι (fun (i : ι) => Set.interᵢ.{u2, 0} M (Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) (fun (H : Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (p i))))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Type.{u3}} (s : Finset.{u3} ι) (p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (Finset.inf.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) ι (Lattice.toSemilatticeInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Submodule.orderTop.{u1, u2} R M _inst_1 _inst_3 _inst_4) s p)) (Set.iInter.{u2, succ u3} M ι (fun (i : ι) => Set.iInter.{u2, 0} M (Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) (fun (H : Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (p i))))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} (s : Finset.{u3} ι) (p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Finset.inf.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (Lattice.toSemilatticeInf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) s p)) (Set.interᵢ.{u1, succ u3} M ι (fun (i : ι) => Set.interᵢ.{u1, 0} M (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) (fun (H : Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) => SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) (p i))))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} (s : Finset.{u3} ι) (p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Finset.inf.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (Lattice.toSemilatticeInf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) s p)) (Set.iInter.{u1, succ u3} M ι (fun (i : ι) => Set.iInter.{u1, 0} M (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) (fun (H : Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) => SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) (p i))))
 Case conversion may be inaccurate. Consider using '#align submodule.finset_inf_coe Submodule.finset_inf_coeₓ'. -/
 @[simp]
 theorem finset_inf_coe {ι} (s : Finset ι) (p : ι → Submodule R M) :
@@ -429,38 +429,38 @@ theorem finset_inf_coe {ι} (s : Finset ι) (p : ι → Submodule R M) :
     simp
 #align submodule.finset_inf_coe Submodule.finset_inf_coe
 
-/- warning: submodule.infi_coe -> Submodule.infᵢ_coe is a dubious translation:
+/- warning: submodule.infi_coe -> Submodule.iInf_coe is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (infᵢ.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (Set.interᵢ.{u2, u3} M ι (fun (i : ι) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (p i)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (iInf.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (Set.iInter.{u2, u3} M ι (fun (i : ι) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (p i)))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) (infᵢ.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (Set.interᵢ.{u1, u3} M ι (fun (i : ι) => SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) (p i)))
-Case conversion may be inaccurate. Consider using '#align submodule.infi_coe Submodule.infᵢ_coeₓ'. -/
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) (iInf.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (Set.iInter.{u1, u3} M ι (fun (i : ι) => SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) (p i)))
+Case conversion may be inaccurate. Consider using '#align submodule.infi_coe Submodule.iInf_coeₓ'. -/
 @[simp]
-theorem infᵢ_coe {ι} (p : ι → Submodule R M) : (↑(⨅ i, p i) : Set M) = ⋂ i, ↑(p i) := by
-  rw [infᵢ, Inf_coe] <;> ext a <;> simp <;> exact ⟨fun h i => h _ i rfl, fun h i x e => e ▸ h _⟩
-#align submodule.infi_coe Submodule.infᵢ_coe
+theorem iInf_coe {ι} (p : ι → Submodule R M) : (↑(⨅ i, p i) : Set M) = ⋂ i, ↑(p i) := by
+  rw [iInf, Inf_coe] <;> ext a <;> simp <;> exact ⟨fun h i => h _ i rfl, fun h i x e => e ▸ h _⟩
+#align submodule.infi_coe Submodule.iInf_coe
 
-/- warning: submodule.mem_Inf -> Submodule.mem_infₛ is a dubious translation:
+/- warning: submodule.mem_Inf -> Submodule.mem_sInf is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (InfSet.infₛ.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) S)) (forall (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4), (Membership.Mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.hasMem.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p S) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (InfSet.sInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) S)) (forall (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4), (Membership.Mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.hasMem.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p S) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (InfSet.infₛ.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) S)) (forall (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4), (Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p S) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_Inf Submodule.mem_infₛₓ'. -/
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (InfSet.sInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) S)) (forall (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4), (Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p S) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_Inf Submodule.mem_sInfₓ'. -/
 @[simp]
-theorem mem_infₛ {S : Set (Submodule R M)} {x : M} : x ∈ infₛ S ↔ ∀ p ∈ S, x ∈ p :=
-  Set.mem_interᵢ₂
-#align submodule.mem_Inf Submodule.mem_infₛ
+theorem mem_sInf {S : Set (Submodule R M)} {x : M} : x ∈ sInf S ↔ ∀ p ∈ S, x ∈ p :=
+  Set.mem_iInter₂
+#align submodule.mem_Inf Submodule.mem_sInf
 
-/- warning: submodule.mem_infi -> Submodule.mem_infᵢ is a dubious translation:
+/- warning: submodule.mem_infi -> Submodule.mem_iInf is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (infᵢ.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (forall (i : ι), Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (p i))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (iInf.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (forall (i : ι), Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (p i))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) {x : M}, Iff (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (infᵢ.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (forall (i : ι), Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (p i))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_infi Submodule.mem_infᵢₓ'. -/
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) {x : M}, Iff (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (iInf.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (forall (i : ι), Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (p i))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_infi Submodule.mem_iInfₓ'. -/
 @[simp]
-theorem mem_infᵢ {ι} (p : ι → Submodule R M) {x} : (x ∈ ⨅ i, p i) ↔ ∀ i, x ∈ p i := by
-  rw [← SetLike.mem_coe, infi_coe, Set.mem_interᵢ] <;> rfl
-#align submodule.mem_infi Submodule.mem_infᵢ
+theorem mem_iInf {ι} (p : ι → Submodule R M) {x} : (x ∈ ⨅ i, p i) ↔ ∀ i, x ∈ p i := by
+  rw [← SetLike.mem_coe, infi_coe, Set.mem_iInter] <;> rfl
+#align submodule.mem_infi Submodule.mem_iInf
 
 /- warning: submodule.mem_finset_inf -> Submodule.mem_finset_inf is a dubious translation:
 lean 3 declaration is
@@ -471,7 +471,7 @@ Case conversion may be inaccurate. Consider using '#align submodule.mem_finset_i
 @[simp]
 theorem mem_finset_inf {ι} {s : Finset ι} {p : ι → Submodule R M} {x : M} :
     x ∈ s.inf p ↔ ∀ i ∈ s, x ∈ p i := by
-  simp only [← SetLike.mem_coe, finset_inf_coe, Set.mem_interᵢ]
+  simp only [← SetLike.mem_coe, finset_inf_coe, Set.mem_iInter]
 #align submodule.mem_finset_inf Submodule.mem_finset_inf
 
 /- warning: submodule.mem_sup_left -> Submodule.mem_sup_left is a dubious translation:
@@ -517,55 +517,55 @@ theorem sub_mem_sup {R' M' : Type _} [Ring R'] [AddCommGroup M'] [Module R' M']
   exact add_mem_sup hs (neg_mem ht)
 #align submodule.sub_mem_sup Submodule.sub_mem_sup
 
-/- warning: submodule.mem_supr_of_mem -> Submodule.mem_supᵢ_of_mem is a dubious translation:
+/- warning: submodule.mem_supr_of_mem -> Submodule.mem_iSup_of_mem is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Sort.{u3}} {b : M} {p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} (i : ι), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) b (p i)) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) b (supᵢ.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) ι (fun (i : ι) => p i)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Sort.{u3}} {b : M} {p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} (i : ι), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) b (p i)) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) b (iSup.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) ι (fun (i : ι) => p i)))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Sort.{u3}} {b : M} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)} (i : ι), (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) b (p i)) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) b (supᵢ.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => p i)))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_supr_of_mem Submodule.mem_supᵢ_of_memₓ'. -/
-theorem mem_supᵢ_of_mem {ι : Sort _} {b : M} {p : ι → Submodule R M} (i : ι) (h : b ∈ p i) :
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Sort.{u3}} {b : M} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)} (i : ι), (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) b (p i)) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) b (iSup.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => p i)))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_supr_of_mem Submodule.mem_iSup_of_memₓ'. -/
+theorem mem_iSup_of_mem {ι : Sort _} {b : M} {p : ι → Submodule R M} (i : ι) (h : b ∈ p i) :
     b ∈ ⨆ i, p i :=
-  have : p i ≤ ⨆ i, p i := le_supᵢ p i
+  have : p i ≤ ⨆ i, p i := le_iSup p i
   @this b h
-#align submodule.mem_supr_of_mem Submodule.mem_supᵢ_of_mem
+#align submodule.mem_supr_of_mem Submodule.mem_iSup_of_mem
 
 open BigOperators
 
-/- warning: submodule.sum_mem_supr -> Submodule.sum_mem_supᵢ is a dubious translation:
+/- warning: submodule.sum_mem_supr -> Submodule.sum_mem_iSup is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Type.{u3}} [_inst_8 : Fintype.{u3} ι] {f : ι -> M} {p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (f i) (p i)) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u2, u3} M ι _inst_3 (Finset.univ.{u3} ι _inst_8) (fun (i : ι) => f i)) (supᵢ.{u2, succ u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) ι (fun (i : ι) => p i)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Type.{u3}} [_inst_8 : Fintype.{u3} ι] {f : ι -> M} {p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (f i) (p i)) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u2, u3} M ι _inst_3 (Finset.univ.{u3} ι _inst_8) (fun (i : ι) => f i)) (iSup.{u2, succ u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) ι (fun (i : ι) => p i)))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} [_inst_8 : Fintype.{u3} ι] {f : ι -> M} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (f i) (p i)) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u1, u3} M ι _inst_3 (Finset.univ.{u3} ι _inst_8) (fun (i : ι) => f i)) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => p i)))
-Case conversion may be inaccurate. Consider using '#align submodule.sum_mem_supr Submodule.sum_mem_supᵢₓ'. -/
-theorem sum_mem_supᵢ {ι : Type _} [Fintype ι] {f : ι → M} {p : ι → Submodule R M}
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} [_inst_8 : Fintype.{u3} ι] {f : ι -> M} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (f i) (p i)) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u1, u3} M ι _inst_3 (Finset.univ.{u3} ι _inst_8) (fun (i : ι) => f i)) (iSup.{u1, succ u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => p i)))
+Case conversion may be inaccurate. Consider using '#align submodule.sum_mem_supr Submodule.sum_mem_iSupₓ'. -/
+theorem sum_mem_iSup {ι : Type _} [Fintype ι] {f : ι → M} {p : ι → Submodule R M}
     (h : ∀ i, f i ∈ p i) : (∑ i, f i) ∈ ⨆ i, p i :=
-  sum_mem fun i hi => mem_supᵢ_of_mem i (h i)
-#align submodule.sum_mem_supr Submodule.sum_mem_supᵢ
+  sum_mem fun i hi => mem_iSup_of_mem i (h i)
+#align submodule.sum_mem_supr Submodule.sum_mem_iSup
 
-/- warning: submodule.sum_mem_bsupr -> Submodule.sum_mem_bsupᵢ is a dubious translation:
+/- warning: submodule.sum_mem_bsupr -> Submodule.sum_mem_biSup is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Type.{u3}} {s : Finset.{u3} ι} {f : ι -> M} {p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), (Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (f i) (p i))) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u2, u3} M ι _inst_3 s (fun (i : ι) => f i)) (supᵢ.{u2, succ u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) ι (fun (i : ι) => supᵢ.{u2, 0} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) (fun (H : Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) => p i))))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Type.{u3}} {s : Finset.{u3} ι} {f : ι -> M} {p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), (Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (f i) (p i))) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u2, u3} M ι _inst_3 s (fun (i : ι) => f i)) (iSup.{u2, succ u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) ι (fun (i : ι) => iSup.{u2, 0} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) (fun (H : Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) => p i))))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} {s : Finset.{u3} ι} {f : ι -> M} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (f i) (p i))) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u1, u3} M ι _inst_3 s (fun (i : ι) => f i)) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => supᵢ.{u1, 0} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) (fun (H : Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) => p i))))
-Case conversion may be inaccurate. Consider using '#align submodule.sum_mem_bsupr Submodule.sum_mem_bsupᵢₓ'. -/
-theorem sum_mem_bsupᵢ {ι : Type _} {s : Finset ι} {f : ι → M} {p : ι → Submodule R M}
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} {s : Finset.{u3} ι} {f : ι -> M} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (f i) (p i))) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u1, u3} M ι _inst_3 s (fun (i : ι) => f i)) (iSup.{u1, succ u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => iSup.{u1, 0} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) (fun (H : Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) => p i))))
+Case conversion may be inaccurate. Consider using '#align submodule.sum_mem_bsupr Submodule.sum_mem_biSupₓ'. -/
+theorem sum_mem_biSup {ι : Type _} {s : Finset ι} {f : ι → M} {p : ι → Submodule R M}
     (h : ∀ i ∈ s, f i ∈ p i) : (∑ i in s, f i) ∈ ⨆ i ∈ s, p i :=
-  sum_mem fun i hi => mem_supᵢ_of_mem i <| mem_supᵢ_of_mem hi (h i hi)
-#align submodule.sum_mem_bsupr Submodule.sum_mem_bsupᵢ
+  sum_mem fun i hi => mem_iSup_of_mem i <| mem_iSup_of_mem hi (h i hi)
+#align submodule.sum_mem_bsupr Submodule.sum_mem_biSup
 
 /-! Note that `submodule.mem_supr` is provided in `linear_algebra/basic.lean`. -/
 
 
-/- warning: submodule.mem_Sup_of_mem -> Submodule.mem_supₛ_of_mem is a dubious translation:
+/- warning: submodule.mem_Sup_of_mem -> Submodule.mem_sSup_of_mem is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {s : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (Membership.Mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.hasMem.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) s S) -> (forall {x : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x s) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (SupSet.supₛ.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) S)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {s : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (Membership.Mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.hasMem.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) s S) -> (forall {x : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x s) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (SupSet.sSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) S)))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {s : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) s S) -> (forall {x : M}, (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x s) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (SupSet.supₛ.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4)) S)))
-Case conversion may be inaccurate. Consider using '#align submodule.mem_Sup_of_mem Submodule.mem_supₛ_of_memₓ'. -/
-theorem mem_supₛ_of_mem {S : Set (Submodule R M)} {s : Submodule R M} (hs : s ∈ S) :
-    ∀ {x : M}, x ∈ s → x ∈ supₛ S :=
-  show s ≤ supₛ S from le_supₛ hs
-#align submodule.mem_Sup_of_mem Submodule.mem_supₛ_of_mem
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {s : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) s S) -> (forall {x : M}, (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x s) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (SupSet.sSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4)) S)))
+Case conversion may be inaccurate. Consider using '#align submodule.mem_Sup_of_mem Submodule.mem_sSup_of_memₓ'. -/
+theorem mem_sSup_of_mem {S : Set (Submodule R M)} {s : Submodule R M} (hs : s ∈ S) :
+    ∀ {x : M}, x ∈ s → x ∈ sSup S :=
+  show s ≤ sSup S from le_sSup hs
+#align submodule.mem_Sup_of_mem Submodule.mem_sSup_of_mem
 
 /- warning: submodule.disjoint_def -> Submodule.disjoint_def is a dubious translation:
 lean 3 declaration is
Diff
@@ -623,7 +623,7 @@ def AddSubmonoid.toNatSubmodule : AddSubmonoid M ≃o Submodule ℕ M
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) -> (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (fun (_x : RelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))))) => (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) -> (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (RelIso.hasCoeToFun.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))))) (OrderIso.symm.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M], Eq.{succ u1} (forall (ᾰ : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)), (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (_x : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Function.instEmbeddingLikeEmbedding.{succ u1, succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))) (RelEmbedding.toEmbedding.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (OrderIso.symm.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3))))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))
+  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) -> (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (_x : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (OrderIso.symm.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))
 Case conversion may be inaccurate. Consider using '#align add_submonoid.to_nat_submodule_symm AddSubmonoid.toNatSubmodule_symmₓ'. -/
 @[simp]
 theorem AddSubmonoid.toNatSubmodule_symm :
@@ -635,7 +635,7 @@ theorem AddSubmonoid.toNatSubmodule_symm :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (Set.{u1} M) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) M (Submodule.setLike.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (fun (_x : RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) => (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) -> (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (RelIso.hasCoeToFun.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) M (AddSubmonoid.setLike.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))) S)
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) S) M (Submodule.setLike.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Function.instEmbeddingLikeEmbedding.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))) (RelEmbedding.toEmbedding.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3))) S)) (SetLike.coe.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) M (AddSubmonoid.instSetLikeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) S)
+  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) M (Submodule.setLike.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) (SetLike.coe.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) M (AddSubmonoid.instSetLikeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) S)
 Case conversion may be inaccurate. Consider using '#align add_submonoid.coe_to_nat_submodule AddSubmonoid.coe_toNatSubmoduleₓ'. -/
 @[simp]
 theorem AddSubmonoid.coe_toNatSubmodule (S : AddSubmonoid M) : (S.toNatSubmodule : Set M) = S :=
@@ -646,7 +646,7 @@ theorem AddSubmonoid.coe_toNatSubmodule (S : AddSubmonoid M) : (S.toNatSubmodule
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (fun (_x : RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) => (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) -> (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (RelIso.hasCoeToFun.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) S
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Function.instEmbeddingLikeEmbedding.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))) (RelEmbedding.toEmbedding.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3))) S)) S
+  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) S
 Case conversion may be inaccurate. Consider using '#align add_submonoid.to_nat_submodule_to_add_submonoid AddSubmonoid.toNatSubmodule_toAddSubmonoidₓ'. -/
 @[simp]
 theorem AddSubmonoid.toNatSubmodule_toAddSubmonoid (S : AddSubmonoid M) :
@@ -658,7 +658,7 @@ theorem AddSubmonoid.toNatSubmodule_toAddSubmonoid (S : AddSubmonoid M) :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)), Eq.{succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (fun (_x : RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) => (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) -> (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (RelIso.hasCoeToFun.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) S)) S
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) S)) (FunLike.coe.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Function.instEmbeddingLikeEmbedding.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))) (RelEmbedding.toEmbedding.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3))) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) S)) S
+  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)), Eq.{succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) (Submodule.toAddSubmonoid.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3) S)) S
 Case conversion may be inaccurate. Consider using '#align submodule.to_add_submonoid_to_nat_submodule Submodule.toAddSubmonoid_toNatSubmoduleₓ'. -/
 @[simp]
 theorem Submodule.toAddSubmonoid_toNatSubmodule (S : Submodule ℕ M) :
@@ -694,7 +694,7 @@ def AddSubgroup.toIntSubmodule : AddSubgroup M ≃o Submodule ℤ M
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) -> (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))))) => (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) -> (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))))) (OrderIso.symm.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1))) (Submodule.toAddSubgroup.{0, u1} Int M Int.ring _inst_1 (AddCommGroup.intModule.{u1} M _inst_1))
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M], Eq.{succ u1} (forall (ᾰ : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)), (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) ᾰ) (FunLike.coe.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (_x : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Function.instEmbeddingLikeEmbedding.{succ u1, succ u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))) (RelEmbedding.toEmbedding.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (OrderIso.symm.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1))))) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1))
+  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M], Eq.{succ u1} ((Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) -> (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (_x : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (OrderIso.symm.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1))) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1))
 Case conversion may be inaccurate. Consider using '#align add_subgroup.to_int_submodule_symm AddSubgroup.toIntSubmodule_symmₓ'. -/
 @[simp]
 theorem AddSubgroup.toIntSubmodule_symm :
@@ -706,7 +706,7 @@ theorem AddSubgroup.toIntSubmodule_symm :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (Set.{u1} M) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) M (Submodule.setLike.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) => (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) -> (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) M (AddSubgroup.setLike.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))) S)
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) S) M (Submodule.setLike.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Function.instEmbeddingLikeEmbedding.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))) (RelEmbedding.toEmbedding.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (AddSubgroup.toIntSubmodule.{u1} M _inst_1))) S)) (SetLike.coe.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) S)
+  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) M (Submodule.setLike.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) (SetLike.coe.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) S)
 Case conversion may be inaccurate. Consider using '#align add_subgroup.coe_to_int_submodule AddSubgroup.coe_toIntSubmoduleₓ'. -/
 @[simp]
 theorem AddSubgroup.coe_toIntSubmodule (S : AddSubgroup M) : (S.toIntSubmodule : Set M) = S :=
@@ -717,7 +717,7 @@ theorem AddSubgroup.coe_toIntSubmodule (S : AddSubgroup M) : (S.toIntSubmodule :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.toAddSubgroup.{0, u1} Int M Int.ring _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) => (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) -> (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) S
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Function.instEmbeddingLikeEmbedding.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))) (RelEmbedding.toEmbedding.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (AddSubgroup.toIntSubmodule.{u1} M _inst_1))) S)) S
+  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) S
 Case conversion may be inaccurate. Consider using '#align add_subgroup.to_int_submodule_to_add_subgroup AddSubgroup.toIntSubmodule_toAddSubgroupₓ'. -/
 @[simp]
 theorem AddSubgroup.toIntSubmodule_toAddSubgroup (S : AddSubgroup M) :
@@ -729,7 +729,7 @@ theorem AddSubgroup.toIntSubmodule_toAddSubgroup (S : AddSubgroup M) :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)), Eq.{succ u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) => (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) -> (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) (Submodule.toAddSubgroup.{0, u1} Int M Int.ring _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) S)) S
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) S)) (FunLike.coe.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Function.instEmbeddingLikeEmbedding.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))) (RelEmbedding.toEmbedding.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (AddSubgroup.toIntSubmodule.{u1} M _inst_1))) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) S)) S
+  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)), Eq.{succ u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (RelHomClass.toFunLike.{u1, u1, u1} (RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298)) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.instRelHomClassRelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) (Submodule.toAddSubgroup.{0, u1} Int M Int.instRingInt _inst_1 (AddCommGroup.intModule.{u1} M _inst_1) S)) S
 Case conversion may be inaccurate. Consider using '#align submodule.to_add_subgroup_to_int_submodule Submodule.toAddSubgroup_toIntSubmoduleₓ'. -/
 @[simp]
 theorem Submodule.toAddSubgroup_toIntSubmodule (S : Submodule ℤ M) :
Diff
@@ -60,7 +60,7 @@ instance inhabited' : Inhabited (Submodule R M) :=
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.hasSingleton.{u2} M) (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.instSingletonSet.{u2} M) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Singleton.singleton.{u2, u2} M (Set.{u2} M) (Set.instSingletonSet.{u2} M) (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))
 Case conversion may be inaccurate. Consider using '#align submodule.bot_coe Submodule.bot_coeₓ'. -/
 @[simp]
 theorem bot_coe : ((⊥ : Submodule R M) : Set M) = {0} :=
@@ -97,7 +97,7 @@ theorem restrictScalars_bot : restrictScalars S (⊥ : Submodule R M) = ⊥ :=
 lean 3 declaration is
   forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Eq.{succ u2} M x (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))))
 but is expected to have type
-  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Eq.{succ u2} M x (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))
+  forall (R : Type.{u1}) {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Eq.{succ u2} M x (OfNat.ofNat.{u2} M 0 (Zero.toOfNat0.{u2} M (AddMonoid.toZero.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_bot Submodule.mem_botₓ'. -/
 @[simp]
 theorem mem_bot {x : M} : x ∈ (⊥ : Submodule R M) ↔ x = 0 :=
@@ -121,7 +121,7 @@ theorem restrictScalars_eq_bot_iff {p : Submodule R M} : restrictScalars S p = 
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Unique.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4)))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Unique.{succ u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Unique.{succ u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))))
 Case conversion may be inaccurate. Consider using '#align submodule.unique_bot Submodule.uniqueBotₓ'. -/
 instance uniqueBot : Unique (⊥ : Submodule R M) :=
   ⟨inferInstance, fun x => Subtype.ext <| (mem_bot R).1 x.Mem⟩
@@ -135,7 +135,7 @@ instance : OrderBot (Submodule R M) where
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4), Iff (Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (forall (x : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p) -> (Eq.{succ u2} M x (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4), Iff (Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (forall (x : M), (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) -> (Eq.{succ u1} M x (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4), Iff (Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (forall (x : M), (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) -> (Eq.{succ u1} M x (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))
 Case conversion may be inaccurate. Consider using '#align submodule.eq_bot_iff Submodule.eq_bot_iffₓ'. -/
 protected theorem eq_bot_iff (p : Submodule R M) : p = ⊥ ↔ ∀ x ∈ p, x = (0 : M) :=
   ⟨fun h => h.symm ▸ fun x hx => (mem_bot R).mp hx, fun h =>
@@ -146,7 +146,7 @@ protected theorem eq_bot_iff (p : Submodule R M) : p = ⊥ ↔ ∀ x ∈ p, x =
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (x : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (y : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))), Eq.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) x y
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (y : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)))), Eq.{succ u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) x y
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (x : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (y : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)))), Eq.{succ u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) x y
 Case conversion may be inaccurate. Consider using '#align submodule.bot_ext Submodule.bot_extₓ'. -/
 @[ext]
 protected theorem bot_ext (x y : (⊥ : Submodule R M)) : x = y :=
@@ -160,7 +160,7 @@ protected theorem bot_ext (x y : (⊥ : Submodule R M)) : x = y :=
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4), Iff (Ne.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Exists.{succ u2} M (fun (x : M) => Exists.{0} (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p) (fun (H : Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p) => Ne.{succ u2} M x (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4), Iff (Ne.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Exists.{succ u1} M (fun (x : M) => And (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) (Ne.{succ u1} M x (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4), Iff (Ne.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Exists.{succ u1} M (fun (x : M) => And (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) (Ne.{succ u1} M x (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))
 Case conversion may be inaccurate. Consider using '#align submodule.ne_bot_iff Submodule.ne_bot_iffₓ'. -/
 protected theorem ne_bot_iff (p : Submodule R M) : p ≠ ⊥ ↔ ∃ x ∈ p, x ≠ (0 : M) :=
   by
@@ -170,9 +170,9 @@ protected theorem ne_bot_iff (p : Submodule R M) : p ≠ ⊥ ↔ ∃ x ∈ p, x
 
 /- warning: submodule.nonzero_mem_of_bot_lt -> Submodule.nonzero_mem_of_bot_lt is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (LT.lt.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Preorder.toLT.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) -> (Exists.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) (fun (a : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) => Ne.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) a (OfNat.ofNat.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) 0 (OfNat.mk.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) 0 (Zero.zero.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) (Submodule.hasZero.{u1, u2} R M _inst_1 _inst_3 _inst_4 p))))))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (LT.lt.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Preorder.toLT.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (PartialOrder.toPreorder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.partialOrder.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) -> (Exists.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) (fun (a : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) => Ne.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) a (OfNat.ofNat.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) 0 (OfNat.mk.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) 0 (Zero.zero.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) (Submodule.zero.{u1, u2} R M _inst_1 _inst_3 _inst_4 p))))))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4}, (LT.lt.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Preorder.toLT.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instPartialOrder.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) (Bot.bot.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) p) -> (Exists.{succ u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) (fun (a : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) => Ne.{succ u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) a (OfNat.ofNat.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) 0 (Zero.toOfNat0.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4 p)))))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4}, (LT.lt.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Preorder.toLT.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (PartialOrder.toPreorder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instPartialOrder.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) (Bot.bot.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) p) -> (Exists.{succ u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) (fun (a : Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) => Ne.{succ u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) a (OfNat.ofNat.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) 0 (Zero.toOfNat0.{u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)) (Submodule.zero.{u2, u1} R M _inst_1 _inst_3 _inst_4 p)))))
 Case conversion may be inaccurate. Consider using '#align submodule.nonzero_mem_of_bot_lt Submodule.nonzero_mem_of_bot_ltₓ'. -/
 theorem nonzero_mem_of_bot_lt {p : Submodule R M} (bot_lt : ⊥ < p) : ∃ a : p, a ≠ 0 :=
   let ⟨b, hb₁, hb₂⟩ := p.ne_bot_iff.mp bot_lt.ne'
@@ -183,7 +183,7 @@ theorem nonzero_mem_of_bot_lt {p : Submodule R M} (bot_lt : ⊥ < p) : ∃ a : p
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (Ne.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) -> (Exists.{succ u2} M (fun (b : M) => And (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) b p) (Ne.{succ u2} M b (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4}, (Ne.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4))) -> (Exists.{succ u1} M (fun (b : M) => And (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) b p) (Ne.{succ u1} M b (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4}, (Ne.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4))) -> (Exists.{succ u1} M (fun (b : M) => And (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) b p) (Ne.{succ u1} M b (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))
 Case conversion may be inaccurate. Consider using '#align submodule.exists_mem_ne_zero_of_ne_bot Submodule.exists_mem_ne_zero_of_ne_botₓ'. -/
 theorem exists_mem_ne_zero_of_ne_bot {p : Submodule R M} (h : p ≠ ⊥) : ∃ b : M, b ∈ p ∧ b ≠ 0 :=
   let ⟨b, hb₁, hb₂⟩ := p.ne_bot_iff.mp h
@@ -194,7 +194,7 @@ theorem exists_mem_ne_zero_of_ne_bot {p : Submodule R M} (h : p ≠ ⊥) : ∃ b
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], LinearEquiv.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) PUnit.{succ u3} (Submodule.addCommMonoid.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (AddCommGroup.toAddCommMonoid.{u3} PUnit.{succ u3} PUnit.addCommGroup.{u3}) (Submodule.module.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (PUnit.module.{u1, u3} R _inst_1)
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], LinearEquiv.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) PUnit.{succ u3} (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} PUnit.{succ u3} (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} PUnit.{succ u3} PUnit.linearOrderedCancelAddCommMonoid.{u3})) (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (PUnit.module.{u1, u3} R _inst_1)
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], LinearEquiv.{u1, u1, u2, u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) PUnit.{succ u3} (Submodule.addCommMonoid.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} PUnit.{succ u3} (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} PUnit.{succ u3} PUnit.linearOrderedCancelAddCommMonoid.{u3})) (Submodule.module.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (PUnit.module.{u1, u3} R _inst_1)
 Case conversion may be inaccurate. Consider using '#align submodule.bot_equiv_punit Submodule.botEquivPUnitₓ'. -/
 /-- The bottom submodule is linearly equivalent to punit as an `R`-module. -/
 @[simps]
@@ -220,7 +220,7 @@ def botEquivPUnit : (⊥ : Submodule R M) ≃ₗ[R] PUnit
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) [_inst_8 : Subsingleton.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p)], Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasBot.{u1, u2} R M _inst_1 _inst_3 _inst_4))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) [_inst_8 : Subsingleton.{succ u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p))], Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] (p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) [_inst_8 : Subsingleton.{succ u1} (Subtype.{succ u1} M (fun (x : M) => Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p))], Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p (Bot.bot.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instBotSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4))
 Case conversion may be inaccurate. Consider using '#align submodule.eq_bot_of_subsingleton Submodule.eq_bot_of_subsingletonₓ'. -/
 theorem eq_bot_of_subsingleton (p : Submodule R M) [Subsingleton p] : p = ⊥ :=
   by
@@ -239,7 +239,7 @@ instance : Top (Submodule R M) :=
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasTop.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Set.univ.{u2} M)
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Set.univ.{u2} M)
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Set.univ.{u2} M)
 Case conversion may be inaccurate. Consider using '#align submodule.top_coe Submodule.top_coeₓ'. -/
 @[simp]
 theorem top_coe : ((⊤ : Submodule R M) : Set M) = Set.univ :=
@@ -261,7 +261,7 @@ theorem top_toAddSubmonoid : (⊤ : Submodule R M).toAddSubmonoid = ⊤ :=
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {x : M}, Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasTop.{u1, u2} R M _inst_1 _inst_3 _inst_4))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {x : M}, Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {x : M}, Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_top Submodule.mem_topₓ'. -/
 @[simp]
 theorem mem_top {x : M} : x ∈ (⊤ : Submodule R M) :=
@@ -304,7 +304,7 @@ instance : OrderTop (Submodule R M) where
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, Iff (Eq.{succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasTop.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (forall (x : M), Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p)
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4}, Iff (Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p (Top.top.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (forall (x : M), Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4}, Iff (Eq.{succ u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p (Top.top.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (forall (x : M), Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p)
 Case conversion may be inaccurate. Consider using '#align submodule.eq_top_iff' Submodule.eq_top_iff'ₓ'. -/
 theorem eq_top_iff' {p : Submodule R M} : p = ⊤ ↔ ∀ x, x ∈ p :=
   eq_top_iff.trans ⟨fun h x => h trivial, fun h x _ => h x⟩
@@ -314,7 +314,7 @@ theorem eq_top_iff' {p : Submodule R M} : p = ⊤ ↔ ∀ x, x ∈ p :=
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasTop.{u1, u2} R M _inst_1 _inst_3 _inst_4))) M (Submodule.addCommMonoid.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasTop.{u1, u2} R M _inst_1 _inst_3 _inst_4))) _inst_3 (Submodule.module.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasTop.{u1, u2} R M _inst_1 _inst_3 _inst_4))) _inst_4
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) M (Submodule.instAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) _inst_3 (Submodule.instModuleSubtypeMemSubmoduleInstMembershipInstSetLikeSubmoduleInstAddCommMonoidSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) _inst_4
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3], LinearEquiv.{u1, u1, u2, u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) M (Submodule.addCommMonoid.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) _inst_3 (Submodule.module.{u1, u2} R M _inst_1 _inst_3 _inst_4 (Top.top.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instTopSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4))) _inst_4
 Case conversion may be inaccurate. Consider using '#align submodule.top_equiv Submodule.topEquivₓ'. -/
 /-- The top submodule is linearly equivalent to the module.
 
@@ -383,7 +383,7 @@ instance : CompleteLattice (Submodule R M) :=
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (Inf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q)) (Inter.inter.{u2} (Set.{u2} M) (Set.hasInter.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) p) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) q))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Inf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q)) (Inter.inter.{u2} (Set.{u2} M) (Set.instInterSet.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) q))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Inf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q)) (Inter.inter.{u2} (Set.{u2} M) (Set.instInterSet.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) p) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) q))
 Case conversion may be inaccurate. Consider using '#align submodule.inf_coe Submodule.inf_coeₓ'. -/
 @[simp]
 theorem inf_coe : ↑(p ⊓ q) = (p ∩ q : Set M) :=
@@ -394,7 +394,7 @@ theorem inf_coe : ↑(p ⊓ q) = (p ∩ q : Set M) :=
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Inf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q)) (And (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p) (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x q))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {x : M}, Iff (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (Inf.inf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p q)) (And (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x q))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {x : M}, Iff (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (Inf.inf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p q)) (And (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x q))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_inf Submodule.mem_infₓ'. -/
 @[simp]
 theorem mem_inf {p q : Submodule R M} {x : M} : x ∈ p ⊓ q ↔ x ∈ p ∧ x ∈ q :=
@@ -405,7 +405,7 @@ theorem mem_inf {p q : Submodule R M} {x : M} : x ∈ p ⊓ q ↔ x ∈ p ∧ x
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (P : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (InfSet.infₛ.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) P)) (Set.interᵢ.{u2, succ u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (fun (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) => Set.interᵢ.{u2, 0} M (Membership.Mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.hasMem.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) (fun (H : Membership.Mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.hasMem.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) p)))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (P : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (InfSet.infₛ.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) P)) (Set.interᵢ.{u2, succ u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (fun (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) => Set.interᵢ.{u2, 0} M (Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) (fun (H : Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) => SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] (P : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) (InfSet.infₛ.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) P)) (Set.interᵢ.{u2, succ u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (fun (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) => Set.interᵢ.{u2, 0} M (Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) (fun (H : Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p P) => SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) p)))
 Case conversion may be inaccurate. Consider using '#align submodule.Inf_coe Submodule.infₛ_coeₓ'. -/
 @[simp]
 theorem infₛ_coe (P : Set (Submodule R M)) : (↑(infₛ P) : Set M) = ⋂ p ∈ P, ↑p :=
@@ -416,7 +416,7 @@ theorem infₛ_coe (P : Set (Submodule R M)) : (↑(infₛ P) : Set M) = ⋂ p 
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Type.{u3}} (s : Finset.{u3} ι) (p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (Finset.inf.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) ι (Lattice.toSemilatticeInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Submodule.orderTop.{u1, u2} R M _inst_1 _inst_3 _inst_4) s p)) (Set.interᵢ.{u2, succ u3} M ι (fun (i : ι) => Set.interᵢ.{u2, 0} M (Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) (fun (H : Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (p i))))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} (s : Finset.{u3} ι) (p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Finset.inf.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (Lattice.toSemilatticeInf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) s p)) (Set.interᵢ.{u1, succ u3} M ι (fun (i : ι) => Set.interᵢ.{u1, 0} M (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) (fun (H : Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) => SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (p i))))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} (s : Finset.{u3} ι) (p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Finset.inf.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (Lattice.toSemilatticeInf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) s p)) (Set.interᵢ.{u1, succ u3} M ι (fun (i : ι) => Set.interᵢ.{u1, 0} M (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) (fun (H : Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) => SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) (p i))))
 Case conversion may be inaccurate. Consider using '#align submodule.finset_inf_coe Submodule.finset_inf_coeₓ'. -/
 @[simp]
 theorem finset_inf_coe {ι} (s : Finset ι) (p : ι → Submodule R M) :
@@ -433,7 +433,7 @@ theorem finset_inf_coe {ι} (s : Finset ι) (p : ι → Submodule R M) :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (infᵢ.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (Set.interᵢ.{u2, u3} M ι (fun (i : ι) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (p i)))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (infᵢ.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (Set.interᵢ.{u1, u3} M ι (fun (i : ι) => SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (p i)))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) (infᵢ.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (Set.interᵢ.{u1, u3} M ι (fun (i : ι) => SetLike.coe.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) (p i)))
 Case conversion may be inaccurate. Consider using '#align submodule.infi_coe Submodule.infᵢ_coeₓ'. -/
 @[simp]
 theorem infᵢ_coe {ι} (p : ι → Submodule R M) : (↑(⨅ i, p i) : Set M) = ⋂ i, ↑(p i) := by
@@ -444,7 +444,7 @@ theorem infᵢ_coe {ι} (p : ι → Submodule R M) : (↑(⨅ i, p i) : Set M) =
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (InfSet.infₛ.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) S)) (forall (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4), (Membership.Mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.hasMem.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p S) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (InfSet.infₛ.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) S)) (forall (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4), (Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p S) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {x : M}, Iff (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (InfSet.infₛ.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) S)) (forall (p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4), (Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p S) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_Inf Submodule.mem_infₛₓ'. -/
 @[simp]
 theorem mem_infₛ {S : Set (Submodule R M)} {x : M} : x ∈ infₛ S ↔ ∀ p ∈ S, x ∈ p :=
@@ -455,7 +455,7 @@ theorem mem_infₛ {S : Set (Submodule R M)} {x : M} : x ∈ infₛ S ↔ ∀ p
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (infᵢ.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (forall (i : ι), Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (p i))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) {x : M}, Iff (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (infᵢ.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (forall (i : ι), Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (p i))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Sort.{u3}} (p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) {x : M}, Iff (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (infᵢ.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSetSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (fun (i : ι) => p i))) (forall (i : ι), Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (p i))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_infi Submodule.mem_infᵢₓ'. -/
 @[simp]
 theorem mem_infᵢ {ι} (p : ι → Submodule R M) {x} : (x ∈ ⨅ i, p i) ↔ ∀ i, x ∈ p i := by
@@ -466,7 +466,7 @@ theorem mem_infᵢ {ι} (p : ι → Submodule R M) {x} : (x ∈ ⨅ i, p i) ↔
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Type.{u3}} {s : Finset.{u3} ι} {p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Finset.inf.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) ι (Lattice.toSemilatticeInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Submodule.orderTop.{u1, u2} R M _inst_1 _inst_3 _inst_4) s p)) (forall (i : ι), (Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (p i)))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} {s : Finset.{u3} ι} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)} {x : M}, Iff (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (Finset.inf.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (Lattice.toSemilatticeInf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) s p)) (forall (i : ι), (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (p i)))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} {s : Finset.{u3} ι} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)} {x : M}, Iff (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (Finset.inf.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) ι (Lattice.toSemilatticeInf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Submodule.instOrderTopSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) s p)) (forall (i : ι), (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (p i)))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_finset_inf Submodule.mem_finset_infₓ'. -/
 @[simp]
 theorem mem_finset_inf {ι} {s : Finset ι} {p : ι → Submodule R M} {x : M} :
@@ -478,7 +478,7 @@ theorem mem_finset_inf {ι} {s : Finset ι} {p : ι → Submodule R M} {x : M} :
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x S) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Sup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) S T))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {S : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x S) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) S T))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {S : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x S) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) S T))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_sup_left Submodule.mem_sup_leftₓ'. -/
 theorem mem_sup_left {S T : Submodule R M} : ∀ {x : M}, x ∈ S → x ∈ S ⊔ T :=
   show S ≤ S ⊔ T from le_sup_left
@@ -488,7 +488,7 @@ theorem mem_sup_left {S T : Submodule R M} : ∀ {x : M}, x ∈ S → x ∈ S 
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x T) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Sup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) S T))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {S : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x T) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) S T))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {S : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x T) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) S T))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_sup_right Submodule.mem_sup_rightₓ'. -/
 theorem mem_sup_right {S T : Submodule R M} : ∀ {x : M}, x ∈ T → x ∈ S ⊔ T :=
   show T ≤ S ⊔ T from le_sup_right
@@ -498,7 +498,7 @@ theorem mem_sup_right {S T : Submodule R M} : ∀ {x : M}, x ∈ T → x ∈ S 
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {s : M} {t : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) s S) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) t T) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) s t) (Sup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) S T))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {S : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {s : M} {t : M}, (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) s S) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) t T) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (HAdd.hAdd.{u1, u1, u1} M M M (instHAdd.{u1} M (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) s t) (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) S T))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {S : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {s : M} {t : M}, (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) s S) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) t T) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (HAdd.hAdd.{u1, u1, u1} M M M (instHAdd.{u1} M (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) s t) (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) S T))
 Case conversion may be inaccurate. Consider using '#align submodule.add_mem_sup Submodule.add_mem_supₓ'. -/
 theorem add_mem_sup {S T : Submodule R M} {s t : M} (hs : s ∈ S) (ht : t ∈ T) : s + t ∈ S ⊔ T :=
   add_mem (mem_sup_left hs) (mem_sup_right ht)
@@ -508,7 +508,7 @@ theorem add_mem_sup {S T : Submodule R M} {s t : M} (hs : s ∈ S) (ht : t ∈ T
 lean 3 declaration is
   forall {R' : Type.{u1}} {M' : Type.{u2}} [_inst_8 : Ring.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] {S : Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10} {T : Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10} {s : M'} {t : M'}, (Membership.Mem.{u2, u2} M' (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) M' (Submodule.setLike.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)) s S) -> (Membership.Mem.{u2, u2} M' (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) M' (Submodule.setLike.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)) t T) -> (Membership.Mem.{u2, u2} M' (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) M' (Submodule.setLike.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)) (HSub.hSub.{u2, u2, u2} M' M' M' (instHSub.{u2} M' (SubNegMonoid.toHasSub.{u2} M' (AddGroup.toSubNegMonoid.{u2} M' (AddCommGroup.toAddGroup.{u2} M' _inst_9)))) s t) (Sup.sup.{u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (Submodule.completeLattice.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) S T))
 but is expected to have type
-  forall {R' : Type.{u2}} {M' : Type.{u1}} [_inst_8 : Ring.{u2} R'] [_inst_9 : AddCommGroup.{u1} M'] [_inst_10 : Module.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9)] {S : Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10} {T : Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10} {s : M'} {t : M'}, (Membership.mem.{u1, u1} M' (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) M' (Submodule.instSetLikeSubmodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)) s S) -> (Membership.mem.{u1, u1} M' (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) M' (Submodule.instSetLikeSubmodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)) t T) -> (Membership.mem.{u1, u1} M' (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) M' (Submodule.instSetLikeSubmodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)) (HSub.hSub.{u1, u1, u1} M' M' M' (instHSub.{u1} M' (SubNegMonoid.toSub.{u1} M' (AddGroup.toSubNegMonoid.{u1} M' (AddCommGroup.toAddGroup.{u1} M' _inst_9)))) s t) (Sup.sup.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (Submodule.completeLattice.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)))) S T))
+  forall {R' : Type.{u2}} {M' : Type.{u1}} [_inst_8 : Ring.{u2} R'] [_inst_9 : AddCommGroup.{u1} M'] [_inst_10 : Module.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9)] {S : Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10} {T : Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10} {s : M'} {t : M'}, (Membership.mem.{u1, u1} M' (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) M' (Submodule.setLike.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)) s S) -> (Membership.mem.{u1, u1} M' (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) M' (Submodule.setLike.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)) t T) -> (Membership.mem.{u1, u1} M' (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) M' (Submodule.setLike.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)) (HSub.hSub.{u1, u1, u1} M' M' M' (instHSub.{u1} M' (SubNegMonoid.toSub.{u1} M' (AddGroup.toSubNegMonoid.{u1} M' (AddCommGroup.toAddGroup.{u1} M' _inst_9)))) s t) (Sup.sup.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (Submodule.completeLattice.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)))) S T))
 Case conversion may be inaccurate. Consider using '#align submodule.sub_mem_sup Submodule.sub_mem_supₓ'. -/
 theorem sub_mem_sup {R' M' : Type _} [Ring R'] [AddCommGroup M'] [Module R' M']
     {S T : Submodule R' M'} {s t : M'} (hs : s ∈ S) (ht : t ∈ T) : s - t ∈ S ⊔ T :=
@@ -521,7 +521,7 @@ theorem sub_mem_sup {R' M' : Type _} [Ring R'] [AddCommGroup M'] [Module R' M']
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Sort.{u3}} {b : M} {p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} (i : ι), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) b (p i)) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) b (supᵢ.{u2, u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) ι (fun (i : ι) => p i)))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Sort.{u3}} {b : M} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)} (i : ι), (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) b (p i)) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) b (supᵢ.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => p i)))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Sort.{u3}} {b : M} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)} (i : ι), (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) b (p i)) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) b (supᵢ.{u1, u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => p i)))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_supr_of_mem Submodule.mem_supᵢ_of_memₓ'. -/
 theorem mem_supᵢ_of_mem {ι : Sort _} {b : M} {p : ι → Submodule R M} (i : ι) (h : b ∈ p i) :
     b ∈ ⨆ i, p i :=
@@ -535,7 +535,7 @@ open BigOperators
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Type.{u3}} [_inst_8 : Fintype.{u3} ι] {f : ι -> M} {p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (f i) (p i)) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u2, u3} M ι _inst_3 (Finset.univ.{u3} ι _inst_8) (fun (i : ι) => f i)) (supᵢ.{u2, succ u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) ι (fun (i : ι) => p i)))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} [_inst_8 : Fintype.{u3} ι] {f : ι -> M} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (f i) (p i)) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u1, u3} M ι _inst_3 (Finset.univ.{u3} ι _inst_8) (fun (i : ι) => f i)) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => p i)))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} [_inst_8 : Fintype.{u3} ι] {f : ι -> M} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (f i) (p i)) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u1, u3} M ι _inst_3 (Finset.univ.{u3} ι _inst_8) (fun (i : ι) => f i)) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => p i)))
 Case conversion may be inaccurate. Consider using '#align submodule.sum_mem_supr Submodule.sum_mem_supᵢₓ'. -/
 theorem sum_mem_supᵢ {ι : Type _} [Fintype ι] {f : ι → M} {p : ι → Submodule R M}
     (h : ∀ i, f i ∈ p i) : (∑ i, f i) ∈ ⨆ i, p i :=
@@ -546,7 +546,7 @@ theorem sum_mem_supᵢ {ι : Type _} [Fintype ι] {f : ι → M} {p : ι → Sub
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {ι : Type.{u3}} {s : Finset.{u3} ι} {f : ι -> M} {p : ι -> (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), (Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (f i) (p i))) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u2, u3} M ι _inst_3 s (fun (i : ι) => f i)) (supᵢ.{u2, succ u3} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) ι (fun (i : ι) => supᵢ.{u2, 0} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) (fun (H : Membership.Mem.{u3, u3} ι (Finset.{u3} ι) (Finset.hasMem.{u3} ι) i s) => p i))))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} {s : Finset.{u3} ι} {f : ι -> M} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (f i) (p i))) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u1, u3} M ι _inst_3 s (fun (i : ι) => f i)) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => supᵢ.{u1, 0} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) (fun (H : Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) => p i))))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {ι : Type.{u3}} {s : Finset.{u3} ι} {f : ι -> M} {p : ι -> (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)}, (forall (i : ι), (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (f i) (p i))) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (Finset.sum.{u1, u3} M ι _inst_3 s (fun (i : ι) => f i)) (supᵢ.{u1, succ u3} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) ι (fun (i : ι) => supᵢ.{u1, 0} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) (fun (H : Membership.mem.{u3, u3} ι (Finset.{u3} ι) (Finset.instMembershipFinset.{u3} ι) i s) => p i))))
 Case conversion may be inaccurate. Consider using '#align submodule.sum_mem_bsupr Submodule.sum_mem_bsupᵢₓ'. -/
 theorem sum_mem_bsupᵢ {ι : Type _} {s : Finset ι} {f : ι → M} {p : ι → Submodule R M}
     (h : ∀ i ∈ s, f i ∈ p i) : (∑ i in s, f i) ∈ ⨆ i ∈ s, p i :=
@@ -560,7 +560,7 @@ theorem sum_mem_bsupᵢ {ι : Type _} {s : Finset ι} {f : ι → M} {p : ι →
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {s : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (Membership.Mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.hasMem.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) s S) -> (forall {x : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x s) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (SupSet.supₛ.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) S)))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {s : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) s S) -> (forall {x : M}, (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x s) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (SupSet.supₛ.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4)) S)))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)} {s : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (Membership.mem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Set.instMembershipSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) s S) -> (forall {x : M}, (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x s) -> (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (SupSet.supₛ.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toSupSet.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4)) S)))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_Sup_of_mem Submodule.mem_supₛ_of_memₓ'. -/
 theorem mem_supₛ_of_mem {S : Set (Submodule R M)} {s : Submodule R M} (hs : s ∈ S) :
     ∀ {x : M}, x ∈ s → x ∈ supₛ S :=
@@ -571,7 +571,7 @@ theorem mem_supₛ_of_mem {S : Set (Submodule R M)} {s : Submodule R M} (hs : s
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {p' : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, Iff (Disjoint.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Submodule.orderBot.{u1, u2} R M _inst_1 _inst_3 _inst_4) p p') (forall (x : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p') -> (Eq.{succ u2} M x (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {p' : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4}, Iff (Disjoint.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p p') (forall (x : M), (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p') -> (Eq.{succ u1} M x (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {p' : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4}, Iff (Disjoint.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) p p') (forall (x : M), (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p') -> (Eq.{succ u1} M x (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))
 Case conversion may be inaccurate. Consider using '#align submodule.disjoint_def Submodule.disjoint_defₓ'. -/
 theorem disjoint_def {p p' : Submodule R M} : Disjoint p p' ↔ ∀ x ∈ p, x ∈ p' → x = (0 : M) :=
   disjoint_iff_inf_le.trans <| show (∀ x, x ∈ p ∧ x ∈ p' → x ∈ ({0} : Set M)) ↔ _ by simp
@@ -581,7 +581,7 @@ theorem disjoint_def {p p' : Submodule R M} : Disjoint p p' ↔ ∀ x ∈ p, x 
 lean 3 declaration is
   forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {p' : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, Iff (Disjoint.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Submodule.orderBot.{u1, u2} R M _inst_1 _inst_3 _inst_4) p p') (forall (x : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p) -> (forall (y : M), (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) y p') -> (Eq.{succ u2} M x y) -> (Eq.{succ u2} M x (OfNat.ofNat.{u2} M 0 (OfNat.mk.{u2} M 0 (Zero.zero.{u2} M (AddZeroClass.toHasZero.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))))))))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {p' : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4}, Iff (Disjoint.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p p') (forall (x : M), (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) -> (forall (y : M), (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) y p') -> (Eq.{succ u1} M x y) -> (Eq.{succ u1} M x (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {p' : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4}, Iff (Disjoint.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderSetLike.{u2, u1} R M _inst_1 _inst_3 _inst_4) p p') (forall (x : M), (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) -> (forall (y : M), (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u2, u1} R M _inst_1 _inst_3 _inst_4)) y p') -> (Eq.{succ u1} M x y) -> (Eq.{succ u1} M x (OfNat.ofNat.{u1} M 0 (Zero.toOfNat0.{u1} M (AddMonoid.toZero.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))
 Case conversion may be inaccurate. Consider using '#align submodule.disjoint_def' Submodule.disjoint_def'ₓ'. -/
 theorem disjoint_def' {p p' : Submodule R M} :
     Disjoint p p' ↔ ∀ x ∈ p, ∀ y ∈ p', x = y → x = (0 : M) :=
@@ -591,9 +591,9 @@ theorem disjoint_def' {p p' : Submodule R M} :
 
 /- warning: submodule.eq_zero_of_coe_mem_of_disjoint -> Submodule.eq_zero_of_coe_mem_of_disjoint is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (Disjoint.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Submodule.orderBot.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q) -> (forall {a : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) M (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) M (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) M (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) M (coeSubtype.{succ u2} M (fun (x : M) => Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p))))) a) q) -> (Eq.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) a (OfNat.ofNat.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) 0 (OfNat.mk.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) 0 (Zero.zero.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) (Submodule.hasZero.{u1, u2} R M _inst_1 _inst_3 _inst_4 p))))))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (Disjoint.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Submodule.orderBot.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q) -> (forall {a : coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) M (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) M (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) M (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) M (coeSubtype.{succ u2} M (fun (x : M) => Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p))))) a) q) -> (Eq.{succ u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) a (OfNat.ofNat.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) 0 (OfNat.mk.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) 0 (Zero.zero.{u2} (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) p) (Submodule.zero.{u1, u2} R M _inst_1 _inst_3 _inst_4 p))))))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (Disjoint.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q) -> (forall {a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p)}, (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p)) a) q) -> (Eq.{succ u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p)) a (OfNat.ofNat.{u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p)) 0 (Zero.toOfNat0.{u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p)) (Submodule.instZeroSubtypeMemSubmoduleInstMembershipInstSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4 p)))))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, (Disjoint.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteSemilatticeInf.toPartialOrder.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4))) (Submodule.instOrderBotSubmoduleToLEToPreorderInstPartialOrderSetLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q) -> (forall {a : Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p)}, (Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (Subtype.val.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Set.{u2} M) (Set.instMembershipSet.{u2} M) x (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4) p)) a) q) -> (Eq.{succ u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p)) a (OfNat.ofNat.{u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p)) 0 (Zero.toOfNat0.{u2} (Subtype.{succ u2} M (fun (x : M) => Membership.mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p)) (Submodule.zero.{u1, u2} R M _inst_1 _inst_3 _inst_4 p)))))
 Case conversion may be inaccurate. Consider using '#align submodule.eq_zero_of_coe_mem_of_disjoint Submodule.eq_zero_of_coe_mem_of_disjointₓ'. -/
 theorem eq_zero_of_coe_mem_of_disjoint (hpq : Disjoint p q) {a : p} (ha : (a : M) ∈ q) : a = 0 := by
   exact_mod_cast disjoint_def.mp hpq a (coe_mem a) ha
@@ -635,7 +635,7 @@ theorem AddSubmonoid.toNatSubmodule_symm :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (Set.{u1} M) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) M (Submodule.setLike.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))))))) (fun (_x : RelIso.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) => (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) -> (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (RelIso.hasCoeToFun.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.completeLattice.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))))) (LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))))) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3) S)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) M (AddSubmonoid.setLike.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))))) S)
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) S) M (Submodule.instSetLikeSubmodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Function.instEmbeddingLikeEmbedding.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))) (RelEmbedding.toEmbedding.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3))) S)) (SetLike.coe.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) M (AddSubmonoid.instSetLikeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) S)
+  forall {M : Type.{u1}} [_inst_3 : AddCommMonoid.{u1} M] (S : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) S) M (Submodule.setLike.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (FunLike.coe.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (fun (_x : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3))) (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Function.instEmbeddingLikeEmbedding.{succ u1, succ u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))) (RelEmbedding.toEmbedding.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) => LE.le.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (Preorder.toLE.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (PartialOrder.toPreorder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) (AddSubmonoid.instCompleteLatticeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) => LE.le.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Preorder.toLE.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)) (Submodule.completeLattice.{0, u1} Nat M Nat.semiring _inst_3 (AddCommMonoid.natModule.{u1} M _inst_3)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (AddSubmonoid.toNatSubmodule.{u1} M _inst_3))) S)) (SetLike.coe.{u1, u1} (AddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) M (AddSubmonoid.instSetLikeAddSubmonoid.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3))) S)
 Case conversion may be inaccurate. Consider using '#align add_submonoid.coe_to_nat_submodule AddSubmonoid.coe_toNatSubmoduleₓ'. -/
 @[simp]
 theorem AddSubmonoid.coe_toNatSubmodule (S : AddSubmonoid M) : (S.toNatSubmodule : Set M) = S :=
@@ -706,7 +706,7 @@ theorem AddSubgroup.toIntSubmodule_symm :
 lean 3 declaration is
   forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (Set.{u1} M) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) M (Submodule.setLike.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))) (coeFn.{succ u1, succ u1} (OrderIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))))))) (fun (_x : RelIso.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) => (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) -> (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (RelIso.hasCoeToFun.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.completeLattice.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))))) (LE.le.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.semiring (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))))) (AddSubgroup.toIntSubmodule.{u1} M _inst_1) S)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (HasLiftT.mk.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (CoeTCₓ.coe.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Set.{u1} M) (SetLike.Set.hasCoeT.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) M (AddSubgroup.setLike.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1))))) S)
 but is expected to have type
-  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) S) M (Submodule.instSetLikeSubmodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Function.instEmbeddingLikeEmbedding.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))) (RelEmbedding.toEmbedding.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (AddSubgroup.toIntSubmodule.{u1} M _inst_1))) S)) (SetLike.coe.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) S)
+  forall {M : Type.{u1}} [_inst_1 : AddCommGroup.{u1} M] (S : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)), Eq.{succ u1} (Set.{u1} M) (SetLike.coe.{u1, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) S) M (Submodule.setLike.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (FunLike.coe.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (fun (_x : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (Function.Embedding.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1))) (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Function.instEmbeddingLikeEmbedding.{succ u1, succ u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))) (RelEmbedding.toEmbedding.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (RelIso.toRelEmbedding.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1281 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1283 : AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) => LE.le.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (Preorder.toLE.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) (AddSubgroup.instCompleteLatticeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1281 x._@.Mathlib.Order.Hom.Basic._hyg.1283) (fun (x._@.Mathlib.Order.Hom.Basic._hyg.1296 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (x._@.Mathlib.Order.Hom.Basic._hyg.1298 : Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) => LE.le.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Preorder.toLE.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (PartialOrder.toPreorder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteSemilatticeInf.toPartialOrder.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Submodule.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)) (Submodule.completeLattice.{0, u1} Int M Int.instSemiringInt (AddCommGroup.toAddCommMonoid.{u1} M _inst_1) (AddCommGroup.intModule.{u1} M _inst_1)))))) x._@.Mathlib.Order.Hom.Basic._hyg.1296 x._@.Mathlib.Order.Hom.Basic._hyg.1298) (AddSubgroup.toIntSubmodule.{u1} M _inst_1))) S)) (SetLike.coe.{u1, u1} (AddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) M (AddSubgroup.instSetLikeAddSubgroup.{u1} M (AddCommGroup.toAddGroup.{u1} M _inst_1)) S)
 Case conversion may be inaccurate. Consider using '#align add_subgroup.coe_to_int_submodule AddSubgroup.coe_toIntSubmoduleₓ'. -/
 @[simp]
 theorem AddSubgroup.coe_toIntSubmodule (S : AddSubgroup M) : (S.toIntSubmodule : Set M) = S :=
Diff
@@ -354,7 +354,7 @@ private theorem le_Inf' {S : Set (Submodule R M)} {p} : (∀ q ∈ S, p ≤ q) 
   Set.subset_interᵢ₂
 #align submodule.le_Inf' submodule.le_Inf'
 
-instance : HasInf (Submodule R M) :=
+instance : Inf (Submodule R M) :=
   ⟨fun p q =>
     { carrier := p ∩ q
       zero_mem' := by simp [zero_mem]
@@ -381,9 +381,9 @@ instance : CompleteLattice (Submodule R M) :=
 
 /- warning: submodule.inf_coe -> Submodule.inf_coe is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (HasInf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q)) (Inter.inter.{u2} (Set.{u2} M) (Set.hasInter.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) p) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) q))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, Eq.{succ u2} (Set.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) (Inf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q)) (Inter.inter.{u2} (Set.{u2} M) (Set.hasInter.{u2} M) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) p) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (HasLiftT.mk.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (CoeTCₓ.coe.{succ u2, succ u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Set.{u2} M) (SetLike.Set.hasCoeT.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) q))
 but is expected to have type
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (HasInf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instHasInfSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q)) (Inter.inter.{u2} (Set.{u2} M) (Set.instInterSet.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) q))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4}, Eq.{succ u2} (Set.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Inf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q)) (Inter.inter.{u2} (Set.{u2} M) (Set.instInterSet.{u2} M) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) p) (SetLike.coe.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) q))
 Case conversion may be inaccurate. Consider using '#align submodule.inf_coe Submodule.inf_coeₓ'. -/
 @[simp]
 theorem inf_coe : ↑(p ⊓ q) = (p ∩ q : Set M) :=
@@ -392,9 +392,9 @@ theorem inf_coe : ↑(p ⊓ q) = (p ∩ q : Set M) :=
 
 /- warning: submodule.mem_inf -> Submodule.mem_inf is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (HasInf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q)) (And (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p) (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x q))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {p : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {x : M}, Iff (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Inf.inf.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.hasInf.{u1, u2} R M _inst_1 _inst_3 _inst_4) p q)) (And (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x p) (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x q))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {x : M}, Iff (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (HasInf.inf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instHasInfSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p q)) (And (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x q))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {p : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {q : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {x : M}, Iff (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (Inf.inf.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.instInfSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) p q)) (And (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x p) (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x q))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_inf Submodule.mem_infₓ'. -/
 @[simp]
 theorem mem_inf {p q : Submodule R M} {x : M} : x ∈ p ⊓ q ↔ x ∈ p ∧ x ∈ q :=
@@ -476,9 +476,9 @@ theorem mem_finset_inf {ι} {s : Finset ι} {p : ι → Submodule R M} {x : M} :
 
 /- warning: submodule.mem_sup_left -> Submodule.mem_sup_left is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x S) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (HasSup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) S T))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x S) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Sup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) S T))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {S : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x S) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (HasSup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toHasSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) S T))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {S : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x S) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) S T))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_sup_left Submodule.mem_sup_leftₓ'. -/
 theorem mem_sup_left {S T : Submodule R M} : ∀ {x : M}, x ∈ S → x ∈ S ⊔ T :=
   show S ≤ S ⊔ T from le_sup_left
@@ -486,9 +486,9 @@ theorem mem_sup_left {S T : Submodule R M} : ∀ {x : M}, x ∈ S → x ∈ S 
 
 /- warning: submodule.mem_sup_right -> Submodule.mem_sup_right is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x T) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (HasSup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) S T))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x T) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) x (Sup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) S T))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {S : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x T) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (HasSup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toHasSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) S T))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {S : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {x : M}, (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x T) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) x (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) S T))
 Case conversion may be inaccurate. Consider using '#align submodule.mem_sup_right Submodule.mem_sup_rightₓ'. -/
 theorem mem_sup_right {S T : Submodule R M} : ∀ {x : M}, x ∈ T → x ∈ S ⊔ T :=
   show T ≤ S ⊔ T from le_sup_right
@@ -496,9 +496,9 @@ theorem mem_sup_right {S T : Submodule R M} : ∀ {x : M}, x ∈ T → x ∈ S 
 
 /- warning: submodule.add_mem_sup -> Submodule.add_mem_sup is a dubious translation:
 lean 3 declaration is
-  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {s : M} {t : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) s S) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) t T) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) s t) (HasSup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) S T))
+  forall {R : Type.{u1}} {M : Type.{u2}} [_inst_1 : Semiring.{u1} R] [_inst_3 : AddCommMonoid.{u2} M] [_inst_4 : Module.{u1, u2} R M _inst_1 _inst_3] {S : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4} {s : M} {t : M}, (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) s S) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) t T) -> (Membership.Mem.{u2, u2} M (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) M (Submodule.setLike.{u1, u2} R M _inst_1 _inst_3 _inst_4)) (HAdd.hAdd.{u2, u2, u2} M M M (instHAdd.{u2} M (AddZeroClass.toHasAdd.{u2} M (AddMonoid.toAddZeroClass.{u2} M (AddCommMonoid.toAddMonoid.{u2} M _inst_3)))) s t) (Sup.sup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u1, u2} R M _inst_1 _inst_3 _inst_4)))) S T))
 but is expected to have type
-  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {S : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {s : M} {t : M}, (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) s S) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) t T) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (HAdd.hAdd.{u1, u1, u1} M M M (instHAdd.{u1} M (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) s t) (HasSup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toHasSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) S T))
+  forall {R : Type.{u2}} {M : Type.{u1}} [_inst_1 : Semiring.{u2} R] [_inst_3 : AddCommMonoid.{u1} M] [_inst_4 : Module.{u2, u1} R M _inst_1 _inst_3] {S : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {T : Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4} {s : M} {t : M}, (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) s S) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) t T) -> (Membership.mem.{u1, u1} M (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) M (Submodule.instSetLikeSubmodule.{u2, u1} R M _inst_1 _inst_3 _inst_4)) (HAdd.hAdd.{u1, u1, u1} M M M (instHAdd.{u1} M (AddZeroClass.toAdd.{u1} M (AddMonoid.toAddZeroClass.{u1} M (AddCommMonoid.toAddMonoid.{u1} M _inst_3)))) s t) (Sup.sup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R M _inst_1 _inst_3 _inst_4) (Submodule.completeLattice.{u2, u1} R M _inst_1 _inst_3 _inst_4)))) S T))
 Case conversion may be inaccurate. Consider using '#align submodule.add_mem_sup Submodule.add_mem_supₓ'. -/
 theorem add_mem_sup {S T : Submodule R M} {s t : M} (hs : s ∈ S) (ht : t ∈ T) : s + t ∈ S ⊔ T :=
   add_mem (mem_sup_left hs) (mem_sup_right ht)
@@ -506,9 +506,9 @@ theorem add_mem_sup {S T : Submodule R M} {s t : M} (hs : s ∈ S) (ht : t ∈ T
 
 /- warning: submodule.sub_mem_sup -> Submodule.sub_mem_sup is a dubious translation:
 lean 3 declaration is
-  forall {R' : Type.{u1}} {M' : Type.{u2}} [_inst_8 : Ring.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] {S : Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10} {T : Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10} {s : M'} {t : M'}, (Membership.Mem.{u2, u2} M' (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) M' (Submodule.setLike.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)) s S) -> (Membership.Mem.{u2, u2} M' (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) M' (Submodule.setLike.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)) t T) -> (Membership.Mem.{u2, u2} M' (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) M' (Submodule.setLike.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)) (HSub.hSub.{u2, u2, u2} M' M' M' (instHSub.{u2} M' (SubNegMonoid.toHasSub.{u2} M' (AddGroup.toSubNegMonoid.{u2} M' (AddCommGroup.toAddGroup.{u2} M' _inst_9)))) s t) (HasSup.sup.{u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (Submodule.completeLattice.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) S T))
+  forall {R' : Type.{u1}} {M' : Type.{u2}} [_inst_8 : Ring.{u1} R'] [_inst_9 : AddCommGroup.{u2} M'] [_inst_10 : Module.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9)] {S : Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10} {T : Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10} {s : M'} {t : M'}, (Membership.Mem.{u2, u2} M' (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) M' (Submodule.setLike.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)) s S) -> (Membership.Mem.{u2, u2} M' (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) M' (Submodule.setLike.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)) t T) -> (Membership.Mem.{u2, u2} M' (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (SetLike.hasMem.{u2, u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) M' (Submodule.setLike.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)) (HSub.hSub.{u2, u2, u2} M' M' M' (instHSub.{u2} M' (SubNegMonoid.toHasSub.{u2} M' (AddGroup.toSubNegMonoid.{u2} M' (AddCommGroup.toAddGroup.{u2} M' _inst_9)))) s t) (Sup.sup.{u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (SemilatticeSup.toHasSup.{u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (Lattice.toSemilatticeSup.{u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (CompleteLattice.toLattice.{u2} (Submodule.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10) (Submodule.completeLattice.{u1, u2} R' M' (Ring.toSemiring.{u1} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u2} M' _inst_9) _inst_10)))) S T))
 but is expected to have type
-  forall {R' : Type.{u2}} {M' : Type.{u1}} [_inst_8 : Ring.{u2} R'] [_inst_9 : AddCommGroup.{u1} M'] [_inst_10 : Module.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9)] {S : Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10} {T : Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10} {s : M'} {t : M'}, (Membership.mem.{u1, u1} M' (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) M' (Submodule.instSetLikeSubmodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)) s S) -> (Membership.mem.{u1, u1} M' (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) M' (Submodule.instSetLikeSubmodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)) t T) -> (Membership.mem.{u1, u1} M' (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) M' (Submodule.instSetLikeSubmodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)) (HSub.hSub.{u1, u1, u1} M' M' M' (instHSub.{u1} M' (SubNegMonoid.toSub.{u1} M' (AddGroup.toSubNegMonoid.{u1} M' (AddCommGroup.toAddGroup.{u1} M' _inst_9)))) s t) (HasSup.sup.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SemilatticeSup.toHasSup.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (Submodule.completeLattice.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)))) S T))
+  forall {R' : Type.{u2}} {M' : Type.{u1}} [_inst_8 : Ring.{u2} R'] [_inst_9 : AddCommGroup.{u1} M'] [_inst_10 : Module.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9)] {S : Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10} {T : Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10} {s : M'} {t : M'}, (Membership.mem.{u1, u1} M' (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) M' (Submodule.instSetLikeSubmodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)) s S) -> (Membership.mem.{u1, u1} M' (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) M' (Submodule.instSetLikeSubmodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)) t T) -> (Membership.mem.{u1, u1} M' (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) M' (Submodule.instSetLikeSubmodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)) (HSub.hSub.{u1, u1, u1} M' M' M' (instHSub.{u1} M' (SubNegMonoid.toSub.{u1} M' (AddGroup.toSubNegMonoid.{u1} M' (AddCommGroup.toAddGroup.{u1} M' _inst_9)))) s t) (Sup.sup.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (SemilatticeSup.toSup.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (Lattice.toSemilatticeSup.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (CompleteLattice.toLattice.{u1} (Submodule.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10) (Submodule.completeLattice.{u2, u1} R' M' (Ring.toSemiring.{u2} R' _inst_8) (AddCommGroup.toAddCommMonoid.{u1} M' _inst_9) _inst_10)))) S T))
 Case conversion may be inaccurate. Consider using '#align submodule.sub_mem_sup Submodule.sub_mem_supₓ'. -/
 theorem sub_mem_sup {R' M' : Type _} [Ring R'] [AddCommGroup M'] [Module R' M']
     {S T : Submodule R' M'} {s t : M'} (hs : s ∈ S) (ht : t ∈ T) : s - t ∈ S ⊔ T :=

Changes in mathlib4

mathlib3
mathlib4
chore: split Subsingleton,Nontrivial off of Data.Set.Basic (#11832)

Moves definition of and lemmas related to Set.Subsingleton and Set.Nontrivial to a new file, so that Basic can be shorter.

Diff
@@ -6,7 +6,7 @@ Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov
 import Mathlib.Algebra.Module.Equiv
 import Mathlib.Algebra.Module.Submodule.Basic
 import Mathlib.Algebra.PUnitInstances
-import Mathlib.Data.Set.Basic
+import Mathlib.Data.Set.Subsingleton
 
 #align_import algebra.module.submodule.lattice from "leanprover-community/mathlib"@"f7fc89d5d5ff1db2d1242c7bb0e9062ce47ef47c"
 
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


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

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

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

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -34,9 +34,7 @@ variable {R S M : Type*}
 section AddCommMonoid
 
 variable [Semiring R] [Semiring S] [AddCommMonoid M] [Module R M] [Module S M]
-
 variable [SMul S R] [IsScalarTower S R M]
-
 variable {p q : Submodule R M}
 
 namespace Submodule
chore(*): shake imports (#10199)
  • Remove Data.Set.Basic from scripts/noshake.json.
  • Remove an exception that was used by examples only, move these examples to a new test file.
  • Drop an exception for Order.Filter.Basic dependency on Control.Traversable.Instances, as the relevant parts were moved to Order.Filter.ListTraverse.
  • Run lake exe shake --fix.
Diff
@@ -6,6 +6,7 @@ Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov
 import Mathlib.Algebra.Module.Equiv
 import Mathlib.Algebra.Module.Submodule.Basic
 import Mathlib.Algebra.PUnitInstances
+import Mathlib.Data.Set.Basic
 
 #align_import algebra.module.submodule.lattice from "leanprover-community/mathlib"@"f7fc89d5d5ff1db2d1242c7bb0e9062ce47ef47c"
 
chore: reduce imports (#9830)

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

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

Diff
@@ -3,7 +3,8 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov
 -/
-import Mathlib.Algebra.Module.Submodule.LinearMap
+import Mathlib.Algebra.Module.Equiv
+import Mathlib.Algebra.Module.Submodule.Basic
 import Mathlib.Algebra.PUnitInstances
 
 #align_import algebra.module.submodule.lattice from "leanprover-community/mathlib"@"f7fc89d5d5ff1db2d1242c7bb0e9062ce47ef47c"
feat: basic theory connecting R[X]-submodules and invariant R-submodules (#9721)
Diff
@@ -317,6 +317,28 @@ theorem mem_sSup_of_mem {S : Set (Submodule R M)} {s : Submodule R M} (hs : s 
   exact this
 #align submodule.mem_Sup_of_mem Submodule.mem_sSup_of_mem
 
+@[simp]
+theorem toAddSubmonoid_sSup (s : Set (Submodule R M)) :
+    (sSup s).toAddSubmonoid = sSup (toAddSubmonoid '' s) := by
+  let p : Submodule R M :=
+    { toAddSubmonoid := sSup (toAddSubmonoid '' s)
+      smul_mem' := fun t {m} h ↦ by
+        simp_rw [AddSubsemigroup.mem_carrier, AddSubmonoid.mem_toSubsemigroup, sSup_eq_iSup'] at h ⊢
+        refine AddSubmonoid.iSup_induction'
+          (C := fun x _ ↦ t • x ∈ ⨆ p : toAddSubmonoid '' s, (p : AddSubmonoid M)) ?_ ?_
+          (fun x y _ _ ↦ ?_) h
+        · rintro ⟨-, ⟨p : Submodule R M, hp : p ∈ s, rfl⟩⟩ x (hx : x ∈ p)
+          suffices p.toAddSubmonoid ≤ ⨆ q : toAddSubmonoid '' s, (q : AddSubmonoid M) by
+            exact this (smul_mem p t hx)
+          apply le_sSup
+          rw [Subtype.range_coe_subtype]
+          exact ⟨p, hp, rfl⟩
+        · simpa only [smul_zero] using zero_mem _
+        · simp_rw [smul_add]; exact add_mem }
+  refine le_antisymm (?_ : sSup s ≤ p) ?_
+  · exact sSup_le fun q hq ↦ le_sSup <| Set.mem_image_of_mem toAddSubmonoid hq
+  · exact sSup_le fun _ ⟨q, hq, hq'⟩ ↦ hq'.symm ▸ le_sSup hq
+
 variable (R)
 
 @[simp]
chore: gather results about Submodule.restrictScalars into new file (#9765)

This is a straight copy-paste: there are no new lemmas and nothing has been removed or renamed. The only changes are a few lemmas where argument explicitness or ordering has changed (and where it did not seem to make sense to replicate the old argument explicitness or ordering).

Diff
@@ -67,27 +67,12 @@ theorem bot_toAddSubmonoid : (⊥ : Submodule R M).toAddSubmonoid = ⊥ :=
 lemma bot_toAddSubgroup {R M} [Ring R] [AddCommGroup M] [Module R M] :
     (⊥ : Submodule R M).toAddSubgroup = ⊥ := rfl
 
-section
-
-variable (R)
-
-@[simp]
-theorem restrictScalars_bot : restrictScalars S (⊥ : Submodule R M) = ⊥ :=
-  rfl
-#align submodule.restrict_scalars_bot Submodule.restrictScalars_bot
-
+variable (R) in
 @[simp]
 theorem mem_bot {x : M} : x ∈ (⊥ : Submodule R M) ↔ x = 0 :=
   Set.mem_singleton_iff
 #align submodule.mem_bot Submodule.mem_bot
 
-end
-
-@[simp]
-theorem restrictScalars_eq_bot_iff {p : Submodule R M} : restrictScalars S p = ⊥ ↔ p = ⊥ := by
-  simp [SetLike.ext_iff]
-#align submodule.restrict_scalars_eq_bot_iff Submodule.restrictScalars_eq_bot_iff
-
 instance uniqueBot : Unique (⊥ : Submodule R M) :=
   ⟨inferInstance, fun x ↦ Subtype.ext <| (mem_bot R).1 x.mem⟩
 #align submodule.unique_bot Submodule.uniqueBot
@@ -175,22 +160,6 @@ theorem mem_top {x : M} : x ∈ (⊤ : Submodule R M) :=
   trivial
 #align submodule.mem_top Submodule.mem_top
 
-section
-
-variable (R)
-
-@[simp]
-theorem restrictScalars_top : restrictScalars S (⊤ : Submodule R M) = ⊤ :=
-  rfl
-#align submodule.restrict_scalars_top Submodule.restrictScalars_top
-
-end
-
-@[simp]
-theorem restrictScalars_eq_top_iff {p : Submodule R M} : restrictScalars S p = ⊤ ↔ p = ⊤ := by
-  simp [SetLike.ext_iff]
-#align submodule.restrict_scalars_eq_top_iff Submodule.restrictScalars_eq_top_iff
-
 instance : OrderTop (Submodule R M) where
   top := ⊤
   le_top _ _ _ := trivial
feat: Provide glue between AddCommGroup and Module ℤ (#9345)

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

Diff
@@ -63,6 +63,10 @@ theorem bot_toAddSubmonoid : (⊥ : Submodule R M).toAddSubmonoid = ⊥ :=
   rfl
 #align submodule.bot_to_add_submonoid Submodule.bot_toAddSubmonoid
 
+@[simp]
+lemma bot_toAddSubgroup {R M} [Ring R] [AddCommGroup M] [Module R M] :
+    (⊥ : Submodule R M).toAddSubgroup = ⊥ := rfl
+
 section
 
 variable (R)
@@ -162,6 +166,10 @@ theorem top_toAddSubmonoid : (⊤ : Submodule R M).toAddSubmonoid = ⊤ :=
   rfl
 #align submodule.top_to_add_submonoid Submodule.top_toAddSubmonoid
 
+@[simp]
+lemma top_toAddSubgroup {R M} [Ring R] [AddCommGroup M] [Module R M] :
+    (⊤ : Submodule R M).toAddSubgroup = ⊤ := rfl
+
 @[simp]
 theorem mem_top {x : M} : x ∈ (⊤ : Submodule R M) :=
   trivial
chore: replace exact_mod_cast tactic with mod_cast elaborator where possible (#8404)

We still have the exact_mod_cast tactic, used in a few places, which somehow (?) works a little bit harder to prevent the expected type influencing the elaboration of the term. I would like to get to the bottom of this, and it will be easier once the only usages of exact_mod_cast are the ones that don't work using the term elaborator by itself.

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

Diff
@@ -383,8 +383,8 @@ theorem disjoint_def' {p p' : Submodule R M} :
     ⟨fun h x hx _ hy hxy ↦ h x hx <| hxy.symm ▸ hy, fun h x hx hx' ↦ h _ hx x hx' rfl⟩
 #align submodule.disjoint_def' Submodule.disjoint_def'
 
-theorem eq_zero_of_coe_mem_of_disjoint (hpq : Disjoint p q) {a : p} (ha : (a : M) ∈ q) : a = 0 := by
-  exact_mod_cast disjoint_def.mp hpq a (coe_mem a) ha
+theorem eq_zero_of_coe_mem_of_disjoint (hpq : Disjoint p q) {a : p} (ha : (a : M) ∈ q) : a = 0 :=
+  mod_cast disjoint_def.mp hpq a (coe_mem a) ha
 #align submodule.eq_zero_of_coe_mem_of_disjoint Submodule.eq_zero_of_coe_mem_of_disjoint
 
 theorem mem_right_iff_eq_zero_of_disjoint {p p' : Submodule R M} (h : Disjoint p p') {x : p} :
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,7 +3,7 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov
 -/
-import Mathlib.Algebra.Module.Submodule.Basic
+import Mathlib.Algebra.Module.Submodule.LinearMap
 import Mathlib.Algebra.PUnitInstances
 
 #align_import algebra.module.submodule.lattice from "leanprover-community/mathlib"@"f7fc89d5d5ff1db2d1242c7bb0e9062ce47ef47c"
feat: miscellaneous linear algebra lemmas (#8157)
Diff
@@ -130,12 +130,18 @@ def botEquivPUnit : (⊥ : Submodule R M) ≃ₗ[R] PUnit.{v+1} where
   right_inv _ := rfl
 #align submodule.bot_equiv_punit Submodule.botEquivPUnit
 
-theorem eq_bot_of_subsingleton (p : Submodule R M) [Subsingleton p] : p = ⊥ := by
-  rw [eq_bot_iff]
-  intro v hv
-  exact congr_arg Subtype.val (Subsingleton.elim (⟨v, hv⟩ : p) 0)
+theorem subsingleton_iff_eq_bot : Subsingleton p ↔ p = ⊥ := by
+  rw [subsingleton_iff, Submodule.eq_bot_iff]
+  refine ⟨fun h x hx ↦ by simpa using h ⟨x, hx⟩ ⟨0, p.zero_mem⟩,
+    fun h ⟨x, hx⟩ ⟨y, hy⟩ ↦ by simp [h x hx, h y hy]⟩
+
+theorem eq_bot_of_subsingleton [Subsingleton p] : p = ⊥ :=
+  subsingleton_iff_eq_bot.mp inferInstance
 #align submodule.eq_bot_of_subsingleton Submodule.eq_bot_of_subsingleton
 
+theorem nontrivial_iff_ne_bot : Nontrivial p ↔ p ≠ ⊥ := by
+  rw [iff_not_comm, not_nontrivial_iff_subsingleton, subsingleton_iff_eq_bot]
+
 /-!
 ## Top element of a submodule
 -/
chore: move some code to Algebra.Module.Submodule.Lattice and add some comments (#7366)
Diff
@@ -25,8 +25,7 @@ to unify the APIs where possible.
 
 -/
 
-set_option autoImplicit true
-
+universe v
 
 variable {R S M : Type*}
 
@@ -40,6 +39,10 @@ variable {p q : Submodule R M}
 
 namespace Submodule
 
+/-!
+## Bottom element of a submodule
+-/
+
 /-- The set `{0}` is the bottom element of the lattice of submodules. -/
 instance : Bot (Submodule R M) :=
   ⟨{ (⊥ : AddSubmonoid M) with
@@ -133,6 +136,10 @@ theorem eq_bot_of_subsingleton (p : Submodule R M) [Subsingleton p] : p = ⊥ :=
   exact congr_arg Subtype.val (Subsingleton.elim (⟨v, hv⟩ : p) 0)
 #align submodule.eq_bot_of_subsingleton Submodule.eq_bot_of_subsingleton
 
+/-!
+## Top element of a submodule
+-/
+
 /-- The universal set is the top element of the lattice of submodules. -/
 instance : Top (Submodule R M) :=
   ⟨{ (⊤ : AddSubmonoid M) with
@@ -191,6 +198,10 @@ def topEquiv : (⊤ : Submodule R M) ≃ₗ[R] M where
   right_inv _ := rfl
 #align submodule.top_equiv Submodule.topEquiv
 
+/-!
+## Infima & suprema in a submodule
+-/
+
 instance : InfSet (Submodule R M) :=
   ⟨fun S ↦
     { carrier := ⋂ s ∈ S, (s : Set M)
@@ -313,7 +324,7 @@ theorem sum_mem_biSup {ι : Type*} {s : Finset ι} {f : ι → M} {p : ι → Su
   sum_mem fun i hi ↦ mem_iSup_of_mem i <| mem_iSup_of_mem hi (h i hi)
 #align submodule.sum_mem_bsupr Submodule.sum_mem_biSup
 
-/-! Note that `Submodule.mem_iSup` is provided in `LinearAlgebra/Span.lean`. -/
+/-! Note that `Submodule.mem_iSup` is provided in `Mathlib/LinearAlgebra/Span.lean`. -/
 
 
 theorem mem_sSup_of_mem {S : Set (Submodule R M)} {s : Submodule R M} (hs : s ∈ S) :
@@ -323,6 +334,39 @@ theorem mem_sSup_of_mem {S : Set (Submodule R M)} {s : Submodule R M} (hs : s 
   exact this
 #align submodule.mem_Sup_of_mem Submodule.mem_sSup_of_mem
 
+variable (R)
+
+@[simp]
+theorem subsingleton_iff : Subsingleton (Submodule R M) ↔ Subsingleton M :=
+  have h : Subsingleton (Submodule R M) ↔ Subsingleton (AddSubmonoid M) := by
+    rw [← subsingleton_iff_bot_eq_top, ← subsingleton_iff_bot_eq_top, ← toAddSubmonoid_eq,
+      bot_toAddSubmonoid, top_toAddSubmonoid]
+  h.trans AddSubmonoid.subsingleton_iff
+#align submodule.subsingleton_iff Submodule.subsingleton_iff
+
+@[simp]
+theorem nontrivial_iff : Nontrivial (Submodule R M) ↔ Nontrivial M :=
+  not_iff_not.mp
+    ((not_nontrivial_iff_subsingleton.trans <| subsingleton_iff R).trans
+      not_nontrivial_iff_subsingleton.symm)
+#align submodule.nontrivial_iff Submodule.nontrivial_iff
+
+variable {R}
+
+instance [Subsingleton M] : Unique (Submodule R M) :=
+  ⟨⟨⊥⟩, fun a => @Subsingleton.elim _ ((subsingleton_iff R).mpr ‹_›) a _⟩
+
+instance unique' [Subsingleton R] : Unique (Submodule R M) := by
+  haveI := Module.subsingleton R M; infer_instance
+#align submodule.unique' Submodule.unique'
+
+instance [Nontrivial M] : Nontrivial (Submodule R M) :=
+  (nontrivial_iff R).mpr ‹_›
+
+/-!
+## Disjointness of submodules
+-/
+
 theorem disjoint_def {p p' : Submodule R M} : Disjoint p p' ↔ ∀ x ∈ p, x ∈ p' → x = (0 : M) :=
   disjoint_iff_inf_le.trans <| show (∀ x, x ∈ p ∧ x ∈ p' → x ∈ ({0} : Set M)) ↔ _ by simp
 #align submodule.disjoint_def Submodule.disjoint_def
@@ -337,10 +381,24 @@ theorem eq_zero_of_coe_mem_of_disjoint (hpq : Disjoint p q) {a : p} (ha : (a : M
   exact_mod_cast disjoint_def.mp hpq a (coe_mem a) ha
 #align submodule.eq_zero_of_coe_mem_of_disjoint Submodule.eq_zero_of_coe_mem_of_disjoint
 
+theorem mem_right_iff_eq_zero_of_disjoint {p p' : Submodule R M} (h : Disjoint p p') {x : p} :
+    (x : M) ∈ p' ↔ x = 0 :=
+  ⟨fun hx => coe_eq_zero.1 <| disjoint_def.1 h x x.2 hx, fun h => h.symm ▸ p'.zero_mem⟩
+#align submodule.mem_right_iff_eq_zero_of_disjoint Submodule.mem_right_iff_eq_zero_of_disjoint
+
+theorem mem_left_iff_eq_zero_of_disjoint {p p' : Submodule R M} (h : Disjoint p p') {x : p'} :
+    (x : M) ∈ p ↔ x = 0 :=
+  ⟨fun hx => coe_eq_zero.1 <| disjoint_def.1 h x hx x.2, fun h => h.symm ▸ p.zero_mem⟩
+#align submodule.mem_left_iff_eq_zero_of_disjoint Submodule.mem_left_iff_eq_zero_of_disjoint
+
 end Submodule
 
 section NatSubmodule
 
+/-!
+## ℕ-submodules
+-/
+
 -- Porting note: `S.toNatSubmodule` doesn't work. I used `AddSubmonoid.toNatSubmodule S` instead.
 /-- An additive submonoid is equivalent to a ℕ-submodule. -/
 def AddSubmonoid.toNatSubmodule : AddSubmonoid M ≃o Submodule ℕ M where
@@ -381,6 +439,10 @@ end AddCommMonoid
 
 section IntSubmodule
 
+/-!
+## ℤ-submodules
+-/
+
 variable [AddCommGroup M]
 
 -- Porting note: `S.toIntSubmodule` doesn't work. I used `AddSubgroup.toIntSubmodule S` instead.
fix: disable autoImplicit globally (#6528)

Autoimplicits are highly controversial and also defeat the performance-improving work in #6474.

The intent of this PR is to make autoImplicit opt-in on a per-file basis, by disabling it in the lakefile and enabling it again with set_option autoImplicit true in the few files that rely on it.

That also keeps this PR small, as opposed to attempting to "fix" files to not need it any more.

I claim that many of the uses of autoImplicit in these files are accidental; situations such as:

  • Assuming variables are in scope, but pasting the lemma in the wrong section
  • Pasting in a lemma from a scratch file without checking to see if the variable names are consistent with the rest of the file
  • Making a copy-paste error between lemmas and forgetting to add an explicit arguments.

Having set_option autoImplicit false as the default prevents these types of mistake being made in the 90% of files where autoImplicits are not used at all, and causes them to be caught by CI during review.

I think there were various points during the port where we encouraged porters to delete the universes u v lines; I think having autoparams for universe variables only would cover a lot of the cases we actually use them, while avoiding any real shortcomings.

A Zulip poll (after combining overlapping votes accordingly) was in favor of this change with 5:5:18 as the no:dontcare:yes vote ratio.

While this PR was being reviewed, a handful of files gained some more likely-accidental autoImplicits. In these places, set_option autoImplicit true has been placed locally within a section, rather than at the top of the file.

Diff
@@ -25,6 +25,8 @@ to unify the APIs where possible.
 
 -/
 
+set_option autoImplicit true
+
 
 variable {R S M : Type*}
 
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
@@ -26,7 +26,7 @@ to unify the APIs where possible.
 -/
 
 
-variable {R S M : Type _}
+variable {R S M : Type*}
 
 section AddCommMonoid
 
@@ -288,25 +288,25 @@ theorem add_mem_sup {S T : Submodule R M} {s t : M} (hs : s ∈ S) (ht : t ∈ T
   add_mem (mem_sup_left hs) (mem_sup_right ht)
 #align submodule.add_mem_sup Submodule.add_mem_sup
 
-theorem sub_mem_sup {R' M' : Type _} [Ring R'] [AddCommGroup M'] [Module R' M']
+theorem sub_mem_sup {R' M' : Type*} [Ring R'] [AddCommGroup M'] [Module R' M']
     {S T : Submodule R' M'} {s t : M'} (hs : s ∈ S) (ht : t ∈ T) : s - t ∈ S ⊔ T := by
   rw [sub_eq_add_neg]
   exact add_mem_sup hs (neg_mem ht)
 #align submodule.sub_mem_sup Submodule.sub_mem_sup
 
-theorem mem_iSup_of_mem {ι : Sort _} {b : M} {p : ι → Submodule R M} (i : ι) (h : b ∈ p i) :
+theorem mem_iSup_of_mem {ι : Sort*} {b : M} {p : ι → Submodule R M} (i : ι) (h : b ∈ p i) :
     b ∈ ⨆ i, p i :=
   (le_iSup p i) h
 #align submodule.mem_supr_of_mem Submodule.mem_iSup_of_mem
 
 open BigOperators
 
-theorem sum_mem_iSup {ι : Type _} [Fintype ι] {f : ι → M} {p : ι → Submodule R M}
+theorem sum_mem_iSup {ι : Type*} [Fintype ι] {f : ι → M} {p : ι → Submodule R M}
     (h : ∀ i, f i ∈ p i) : (∑ i, f i) ∈ ⨆ i, p i :=
   sum_mem fun i _ ↦ mem_iSup_of_mem i (h i)
 #align submodule.sum_mem_supr Submodule.sum_mem_iSup
 
-theorem sum_mem_biSup {ι : Type _} {s : Finset ι} {f : ι → M} {p : ι → Submodule R M}
+theorem sum_mem_biSup {ι : Type*} {s : Finset ι} {f : ι → M} {p : ι → Submodule R M}
     (h : ∀ i ∈ s, f i ∈ p i) : (∑ i in s, f i) ∈ ⨆ i ∈ s, p i :=
   sum_mem fun i hi ↦ mem_iSup_of_mem i <| mem_iSup_of_mem hi (h i hi)
 #align submodule.sum_mem_bsupr Submodule.sum_mem_biSup
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,15 +2,12 @@
 Copyright (c) 2017 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Mario Carneiro, Kevin Buzzard, Yury Kudryashov
-
-! This file was ported from Lean 3 source module algebra.module.submodule.lattice
-! leanprover-community/mathlib commit f7fc89d5d5ff1db2d1242c7bb0e9062ce47ef47c
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.Module.Submodule.Basic
 import Mathlib.Algebra.PUnitInstances
 
+#align_import algebra.module.submodule.lattice from "leanprover-community/mathlib"@"f7fc89d5d5ff1db2d1242c7bb0e9062ce47ef47c"
+
 /-!
 # The lattice structure on `Submodule`s
 
chore: remove occurrences of semicolon after space (#5713)

This is the second half of the changes originally in #5699, removing all occurrences of ; after a space and implementing a linter rule to enforce it.

In most cases this 2-character substring has a space after it, so the following command was run first:

find . -type f -name "*.lean" -exec sed -i -E 's/ ; /; /g' {} \;

The remaining cases were few enough in number that they were done manually.

Diff
@@ -256,7 +256,7 @@ theorem finset_inf_coe {ι} (s : Finset ι) (p : ι → Submodule R M) :
 
 @[simp]
 theorem iInf_coe {ι} (p : ι → Submodule R M) : (↑(⨅ i, p i) : Set M) = ⋂ i, ↑(p i) := by
-  rw [iInf, sInf_coe] ; simp only [Set.mem_range, Set.iInter_exists, Set.iInter_iInter_eq']
+  rw [iInf, sInf_coe]; simp only [Set.mem_range, Set.iInter_exists, Set.iInter_iInter_eq']
 #align submodule.infi_coe Submodule.iInf_coe
 
 @[simp]
@@ -266,7 +266,7 @@ theorem mem_sInf {S : Set (Submodule R M)} {x : M} : x ∈ sInf S ↔ ∀ p ∈
 
 @[simp]
 theorem mem_iInf {ι} (p : ι → Submodule R M) {x} : (x ∈ ⨅ i, p i) ↔ ∀ i, x ∈ p i := by
-  rw [← SetLike.mem_coe, iInf_coe, Set.mem_iInter] ; rfl
+  rw [← SetLike.mem_coe, iInf_coe, Set.mem_iInter]; rfl
 #align submodule.mem_infi Submodule.mem_iInf
 
 @[simp]
feat: port Analysis.InnerProductSpace.Projection (#4393)

This PR also increase the priority of Submodule.bot_ext.

Co-authored-by: Jireh Loreaux <loreaujy@gmail.com>

Diff
@@ -95,7 +95,7 @@ protected theorem eq_bot_iff (p : Submodule R M) : p = ⊥ ↔ ∀ x ∈ p, x =
     fun h ↦ eq_bot_iff.mpr fun x hx ↦ (mem_bot R).mpr (h x hx)⟩
 #align submodule.eq_bot_iff Submodule.eq_bot_iff
 
-@[ext]
+@[ext high]
 protected theorem bot_ext (x y : (⊥ : Submodule R M)) : x = y := by
   rcases x with ⟨x, xm⟩; rcases y with ⟨y, ym⟩; congr
   rw [(Submodule.eq_bot_iff _).mp rfl x xm]
chore: reenable eta, bump to nightly 2023-05-16 (#3414)

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

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

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

Diff
@@ -116,9 +116,10 @@ theorem exists_mem_ne_zero_of_ne_bot {p : Submodule R M} (h : p ≠ ⊥) : ∃ b
   ⟨b, hb₁, hb₂⟩
 #align submodule.exists_mem_ne_zero_of_ne_bot Submodule.exists_mem_ne_zero_of_ne_bot
 
+-- FIXME: we default PUnit to PUnit.{1} here without the explicit universe annotation
 /-- The bottom submodule is linearly equivalent to punit as an `R`-module. -/
 @[simps]
-def botEquivPUnit : (⊥ : Submodule R M) ≃ₗ[R] PUnit where
+def botEquivPUnit : (⊥ : Submodule R M) ≃ₗ[R] PUnit.{v+1} where
   toFun _ := PUnit.unit
   invFun _ := 0
   map_add' _ _ := rfl
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
@@ -198,11 +198,11 @@ instance : InfSet (Submodule R M) :=
       add_mem' := by simp (config := { contextual := true }) [add_mem]
       smul_mem' := by simp (config := { contextual := true }) [smul_mem] }⟩
 
-private theorem infₛ_le' {S : Set (Submodule R M)} {p} : p ∈ S → infₛ S ≤ p :=
-  Set.binterᵢ_subset_of_mem
+private theorem sInf_le' {S : Set (Submodule R M)} {p} : p ∈ S → sInf S ≤ p :=
+  Set.biInter_subset_of_mem
 
-private theorem le_infₛ' {S : Set (Submodule R M)} {p} : (∀ q ∈ S, p ≤ q) → p ≤ infₛ S :=
-  Set.subset_interᵢ₂
+private theorem le_sInf' {S : Set (Submodule R M)} {p} : (∀ q ∈ S, p ≤ q) → p ≤ sInf S :=
+  Set.subset_iInter₂
 
 instance : Inf (Submodule R M) :=
   ⟨fun p q ↦
@@ -214,18 +214,18 @@ instance : Inf (Submodule R M) :=
 instance completeLattice : CompleteLattice (Submodule R M) :=
   { (inferInstance : OrderTop (Submodule R M)),
     (inferInstance : OrderBot (Submodule R M)) with
-    sup := fun a b ↦ infₛ { x | a ≤ x ∧ b ≤ x }
-    le_sup_left := fun _ _ ↦ le_infₛ' fun _ ⟨h, _⟩ ↦ h
-    le_sup_right := fun _ _ ↦ le_infₛ' fun _ ⟨_, h⟩ ↦ h
-    sup_le := fun _ _ _ h₁ h₂ ↦ infₛ_le' ⟨h₁, h₂⟩
+    sup := fun a b ↦ sInf { x | a ≤ x ∧ b ≤ x }
+    le_sup_left := fun _ _ ↦ le_sInf' fun _ ⟨h, _⟩ ↦ h
+    le_sup_right := fun _ _ ↦ le_sInf' fun _ ⟨_, h⟩ ↦ h
+    sup_le := fun _ _ _ h₁ h₂ ↦ sInf_le' ⟨h₁, h₂⟩
     inf := (· ⊓ ·)
     le_inf := fun _ _ _ ↦ Set.subset_inter
     inf_le_left := fun _ _ ↦ Set.inter_subset_left _ _
     inf_le_right := fun _ _ ↦ Set.inter_subset_right _ _
-    le_supₛ := fun _ _ hs ↦ le_infₛ' fun _ hq ↦ by exact hq _ hs
-    supₛ_le := fun _ _ hs ↦ infₛ_le' hs
-    le_infₛ := fun _ _ ↦ le_infₛ'
-    infₛ_le := fun _ _ ↦ infₛ_le' }
+    le_sSup := fun _ _ hs ↦ le_sInf' fun _ hq ↦ by exact hq _ hs
+    sSup_le := fun _ _ hs ↦ sInf_le' hs
+    le_sInf := fun _ _ ↦ le_sInf'
+    sInf_le := fun _ _ ↦ sInf_le' }
 #align submodule.complete_lattice Submodule.completeLattice
 
 @[simp]
@@ -239,9 +239,9 @@ theorem mem_inf {p q : Submodule R M} {x : M} : x ∈ p ⊓ q ↔ x ∈ p ∧ x
 #align submodule.mem_inf Submodule.mem_inf
 
 @[simp]
-theorem infₛ_coe (P : Set (Submodule R M)) : (↑(infₛ P) : Set M) = ⋂ p ∈ P, ↑p :=
+theorem sInf_coe (P : Set (Submodule R M)) : (↑(sInf P) : Set M) = ⋂ p ∈ P, ↑p :=
   rfl
-#align submodule.Inf_coe Submodule.infₛ_coe
+#align submodule.Inf_coe Submodule.sInf_coe
 
 @[simp]
 theorem finset_inf_coe {ι} (s : Finset ι) (p : ι → Submodule R M) :
@@ -254,24 +254,24 @@ theorem finset_inf_coe {ι} (s : Finset ι) (p : ι → Submodule R M) :
 #align submodule.finset_inf_coe Submodule.finset_inf_coe
 
 @[simp]
-theorem infᵢ_coe {ι} (p : ι → Submodule R M) : (↑(⨅ i, p i) : Set M) = ⋂ i, ↑(p i) := by
-  rw [infᵢ, infₛ_coe] ; simp only [Set.mem_range, Set.interᵢ_exists, Set.interᵢ_interᵢ_eq']
-#align submodule.infi_coe Submodule.infᵢ_coe
+theorem iInf_coe {ι} (p : ι → Submodule R M) : (↑(⨅ i, p i) : Set M) = ⋂ i, ↑(p i) := by
+  rw [iInf, sInf_coe] ; simp only [Set.mem_range, Set.iInter_exists, Set.iInter_iInter_eq']
+#align submodule.infi_coe Submodule.iInf_coe
 
 @[simp]
-theorem mem_infₛ {S : Set (Submodule R M)} {x : M} : x ∈ infₛ S ↔ ∀ p ∈ S, x ∈ p :=
-  Set.mem_interᵢ₂
-#align submodule.mem_Inf Submodule.mem_infₛ
+theorem mem_sInf {S : Set (Submodule R M)} {x : M} : x ∈ sInf S ↔ ∀ p ∈ S, x ∈ p :=
+  Set.mem_iInter₂
+#align submodule.mem_Inf Submodule.mem_sInf
 
 @[simp]
-theorem mem_infᵢ {ι} (p : ι → Submodule R M) {x} : (x ∈ ⨅ i, p i) ↔ ∀ i, x ∈ p i := by
-  rw [← SetLike.mem_coe, infᵢ_coe, Set.mem_interᵢ] ; rfl
-#align submodule.mem_infi Submodule.mem_infᵢ
+theorem mem_iInf {ι} (p : ι → Submodule R M) {x} : (x ∈ ⨅ i, p i) ↔ ∀ i, x ∈ p i := by
+  rw [← SetLike.mem_coe, iInf_coe, Set.mem_iInter] ; rfl
+#align submodule.mem_infi Submodule.mem_iInf
 
 @[simp]
 theorem mem_finset_inf {ι} {s : Finset ι} {p : ι → Submodule R M} {x : M} :
     x ∈ s.inf p ↔ ∀ i ∈ s, x ∈ p i := by
-  simp only [← SetLike.mem_coe, finset_inf_coe, Set.mem_interᵢ]
+  simp only [← SetLike.mem_coe, finset_inf_coe, Set.mem_iInter]
 #align submodule.mem_finset_inf Submodule.mem_finset_inf
 
 theorem mem_sup_left {S T : Submodule R M} : ∀ {x : M}, x ∈ S → x ∈ S ⊔ T := by
@@ -296,32 +296,32 @@ theorem sub_mem_sup {R' M' : Type _} [Ring R'] [AddCommGroup M'] [Module R' M']
   exact add_mem_sup hs (neg_mem ht)
 #align submodule.sub_mem_sup Submodule.sub_mem_sup
 
-theorem mem_supᵢ_of_mem {ι : Sort _} {b : M} {p : ι → Submodule R M} (i : ι) (h : b ∈ p i) :
+theorem mem_iSup_of_mem {ι : Sort _} {b : M} {p : ι → Submodule R M} (i : ι) (h : b ∈ p i) :
     b ∈ ⨆ i, p i :=
-  (le_supᵢ p i) h
-#align submodule.mem_supr_of_mem Submodule.mem_supᵢ_of_mem
+  (le_iSup p i) h
+#align submodule.mem_supr_of_mem Submodule.mem_iSup_of_mem
 
 open BigOperators
 
-theorem sum_mem_supᵢ {ι : Type _} [Fintype ι] {f : ι → M} {p : ι → Submodule R M}
+theorem sum_mem_iSup {ι : Type _} [Fintype ι] {f : ι → M} {p : ι → Submodule R M}
     (h : ∀ i, f i ∈ p i) : (∑ i, f i) ∈ ⨆ i, p i :=
-  sum_mem fun i _ ↦ mem_supᵢ_of_mem i (h i)
-#align submodule.sum_mem_supr Submodule.sum_mem_supᵢ
+  sum_mem fun i _ ↦ mem_iSup_of_mem i (h i)
+#align submodule.sum_mem_supr Submodule.sum_mem_iSup
 
-theorem sum_mem_bsupᵢ {ι : Type _} {s : Finset ι} {f : ι → M} {p : ι → Submodule R M}
+theorem sum_mem_biSup {ι : Type _} {s : Finset ι} {f : ι → M} {p : ι → Submodule R M}
     (h : ∀ i ∈ s, f i ∈ p i) : (∑ i in s, f i) ∈ ⨆ i ∈ s, p i :=
-  sum_mem fun i hi ↦ mem_supᵢ_of_mem i <| mem_supᵢ_of_mem hi (h i hi)
-#align submodule.sum_mem_bsupr Submodule.sum_mem_bsupᵢ
+  sum_mem fun i hi ↦ mem_iSup_of_mem i <| mem_iSup_of_mem hi (h i hi)
+#align submodule.sum_mem_bsupr Submodule.sum_mem_biSup
 
-/-! Note that `Submodule.mem_supᵢ` is provided in `LinearAlgebra/Span.lean`. -/
+/-! Note that `Submodule.mem_iSup` is provided in `LinearAlgebra/Span.lean`. -/
 
 
-theorem mem_supₛ_of_mem {S : Set (Submodule R M)} {s : Submodule R M} (hs : s ∈ S) :
-    ∀ {x : M}, x ∈ s → x ∈ supₛ S := by
-  have := le_supₛ hs
+theorem mem_sSup_of_mem {S : Set (Submodule R M)} {s : Submodule R M} (hs : s ∈ S) :
+    ∀ {x : M}, x ∈ s → x ∈ sSup S := by
+  have := le_sSup hs
   rw [LE.le] at this
   exact this
-#align submodule.mem_Sup_of_mem Submodule.mem_supₛ_of_mem
+#align submodule.mem_Sup_of_mem Submodule.mem_sSup_of_mem
 
 theorem disjoint_def {p p' : Submodule R M} : Disjoint p p' ↔ ∀ x ∈ p, x ∈ p' → x = (0 : M) :=
   disjoint_iff_inf_le.trans <| show (∀ x, x ∈ p ∧ x ∈ p' → x ∈ ({0} : Set M)) ↔ _ by simp
refactor: rename HasSup/HasInf to Sup/Inf (#2475)

Co-authored-by: Yury G. Kudryashov <urkud@urkud.name>

Diff
@@ -204,7 +204,7 @@ private theorem infₛ_le' {S : Set (Submodule R M)} {p} : p ∈ S → infₛ S
 private theorem le_infₛ' {S : Set (Submodule R M)} {p} : (∀ q ∈ S, p ≤ q) → p ≤ infₛ S :=
   Set.subset_interᵢ₂
 
-instance : HasInf (Submodule R M) :=
+instance : Inf (Submodule R M) :=
   ⟨fun p q ↦
     { carrier := p ∩ q
       zero_mem' := by simp [zero_mem]
feat: port Algebra.Module.Submodule.Pointwise (#2285)
Diff
@@ -211,7 +211,7 @@ instance : HasInf (Submodule R M) :=
       add_mem' := by simp (config := { contextual := true }) [add_mem]
       smul_mem' := by simp (config := { contextual := true }) [smul_mem] }⟩
 
-instance : CompleteLattice (Submodule R M) :=
+instance completeLattice : CompleteLattice (Submodule R M) :=
   { (inferInstance : OrderTop (Submodule R M)),
     (inferInstance : OrderBot (Submodule R M)) with
     sup := fun a b ↦ infₛ { x | a ≤ x ∧ b ≤ x }
@@ -226,6 +226,7 @@ instance : CompleteLattice (Submodule R M) :=
     supₛ_le := fun _ _ hs ↦ infₛ_le' hs
     le_infₛ := fun _ _ ↦ le_infₛ'
     infₛ_le := fun _ _ ↦ infₛ_le' }
+#align submodule.complete_lattice Submodule.completeLattice
 
 @[simp]
 theorem inf_coe : ↑(p ⊓ q) = (p ∩ q : Set M) :=
chore: tidy various files (#2236)
Diff
@@ -118,14 +118,13 @@ theorem exists_mem_ne_zero_of_ne_bot {p : Submodule R M} (h : p ≠ ⊥) : ∃ b
 
 /-- The bottom submodule is linearly equivalent to punit as an `R`-module. -/
 @[simps]
-def botEquivPUnit : (⊥ : Submodule R M) ≃ₗ[R] PUnit
-    where
+def botEquivPUnit : (⊥ : Submodule R M) ≃ₗ[R] PUnit where
   toFun _ := PUnit.unit
   invFun _ := 0
-  map_add' := fun _ _ ↦ rfl
-  map_smul' := fun _ _ ↦ rfl
-  left_inv := by intro ; simp only [eq_iff_true_of_subsingleton]
-  right_inv := fun _ ↦ rfl
+  map_add' _ _ := rfl
+  map_smul' _ _ := rfl
+  left_inv _ := Subsingleton.elim _ _
+  right_inv _ := rfl
 #align submodule.bot_equiv_punit Submodule.botEquivPUnit
 
 theorem eq_bot_of_subsingleton (p : Submodule R M) [Subsingleton p] : p = ⊥ := by
@@ -183,14 +182,13 @@ theorem eq_top_iff' {p : Submodule R M} : p = ⊤ ↔ ∀ x, x ∈ p :=
 
 This is the module version of `AddSubmonoid.topEquiv`. -/
 @[simps]
-def topEquiv : (⊤ : Submodule R M) ≃ₗ[R] M
-    where
+def topEquiv : (⊤ : Submodule R M) ≃ₗ[R] M where
   toFun x := x
   invFun x := ⟨x, mem_top⟩
-  map_add' := fun _ _ ↦ rfl
-  map_smul' := fun _ _ ↦ rfl
-  left_inv := fun _ ↦ rfl
-  right_inv := fun _ ↦ rfl
+  map_add' _ _ := rfl
+  map_smul' _ _ := rfl
+  left_inv _ := rfl
+  right_inv _ := rfl
 #align submodule.top_equiv Submodule.topEquiv
 
 instance : InfSet (Submodule R M) :=
@@ -200,10 +198,10 @@ instance : InfSet (Submodule R M) :=
       add_mem' := by simp (config := { contextual := true }) [add_mem]
       smul_mem' := by simp (config := { contextual := true }) [smul_mem] }⟩
 
-private theorem Inf_le' {S : Set (Submodule R M)} {p} : p ∈ S → infₛ S ≤ p :=
+private theorem infₛ_le' {S : Set (Submodule R M)} {p} : p ∈ S → infₛ S ≤ p :=
   Set.binterᵢ_subset_of_mem
 
-private theorem le_Inf' {S : Set (Submodule R M)} {p} : (∀ q ∈ S, p ≤ q) → p ≤ infₛ S :=
+private theorem le_infₛ' {S : Set (Submodule R M)} {p} : (∀ q ∈ S, p ≤ q) → p ≤ infₛ S :=
   Set.subset_interᵢ₂
 
 instance : HasInf (Submodule R M) :=
@@ -217,17 +215,17 @@ instance : CompleteLattice (Submodule R M) :=
   { (inferInstance : OrderTop (Submodule R M)),
     (inferInstance : OrderBot (Submodule R M)) with
     sup := fun a b ↦ infₛ { x | a ≤ x ∧ b ≤ x }
-    le_sup_left := fun _ _ ↦ le_Inf' fun _ ⟨h, _⟩ ↦ h
-    le_sup_right := fun _ _ ↦ le_Inf' fun _ ⟨_, h⟩ ↦ h
-    sup_le := fun _ _ _ h₁ h₂ ↦ Inf_le' ⟨h₁, h₂⟩
+    le_sup_left := fun _ _ ↦ le_infₛ' fun _ ⟨h, _⟩ ↦ h
+    le_sup_right := fun _ _ ↦ le_infₛ' fun _ ⟨_, h⟩ ↦ h
+    sup_le := fun _ _ _ h₁ h₂ ↦ infₛ_le' ⟨h₁, h₂⟩
     inf := (· ⊓ ·)
     le_inf := fun _ _ _ ↦ Set.subset_inter
     inf_le_left := fun _ _ ↦ Set.inter_subset_left _ _
     inf_le_right := fun _ _ ↦ Set.inter_subset_right _ _
-    le_supₛ := fun _ _ hs ↦ le_Inf' fun _ hq ↦ by exact hq _ hs
-    supₛ_le := fun _ _ hs ↦ Inf_le' hs
-    le_infₛ := fun _ _ ↦ le_Inf'
-    infₛ_le := fun _ _ ↦ Inf_le' }
+    le_supₛ := fun _ _ hs ↦ le_infₛ' fun _ hq ↦ by exact hq _ hs
+    supₛ_le := fun _ _ hs ↦ infₛ_le' hs
+    le_infₛ := fun _ _ ↦ le_infₛ'
+    infₛ_le := fun _ _ ↦ infₛ_le' }
 
 @[simp]
 theorem inf_coe : ↑(p ⊓ q) = (p ∩ q : Set M) :=
@@ -309,12 +307,12 @@ theorem sum_mem_supᵢ {ι : Type _} [Fintype ι] {f : ι → M} {p : ι → Sub
   sum_mem fun i _ ↦ mem_supᵢ_of_mem i (h i)
 #align submodule.sum_mem_supr Submodule.sum_mem_supᵢ
 
-theorem sum_mem_bsupr {ι : Type _} {s : Finset ι} {f : ι → M} {p : ι → Submodule R M}
+theorem sum_mem_bsupᵢ {ι : Type _} {s : Finset ι} {f : ι → M} {p : ι → Submodule R M}
     (h : ∀ i ∈ s, f i ∈ p i) : (∑ i in s, f i) ∈ ⨆ i ∈ s, p i :=
   sum_mem fun i hi ↦ mem_supᵢ_of_mem i <| mem_supᵢ_of_mem hi (h i hi)
-#align submodule.sum_mem_bsupr Submodule.sum_mem_bsupr
+#align submodule.sum_mem_bsupr Submodule.sum_mem_bsupᵢ
 
-/-! Note that `Submodule.mem_supr` is provided in `LinearAlgebra/Span.lean`. -/
+/-! Note that `Submodule.mem_supᵢ` is provided in `LinearAlgebra/Span.lean`. -/
 
 
 theorem mem_supₛ_of_mem {S : Set (Submodule R M)} {s : Submodule R M} (hs : s ∈ S) :
@@ -344,12 +342,11 @@ section NatSubmodule
 
 -- Porting note: `S.toNatSubmodule` doesn't work. I used `AddSubmonoid.toNatSubmodule S` instead.
 /-- An additive submonoid is equivalent to a ℕ-submodule. -/
-def AddSubmonoid.toNatSubmodule : AddSubmonoid M ≃o Submodule ℕ M
-    where
+def AddSubmonoid.toNatSubmodule : AddSubmonoid M ≃o Submodule ℕ M where
   toFun S := { S with smul_mem' := fun r s hs ↦ show r • s ∈ S from nsmul_mem hs _ }
   invFun := Submodule.toAddSubmonoid
-  left_inv := fun _ ↦ rfl
-  right_inv := fun _ ↦ rfl
+  left_inv _ := rfl
+  right_inv _ := rfl
   map_rel_iff' := Iff.rfl
 #align add_submonoid.to_nat_submodule AddSubmonoid.toNatSubmodule
 
@@ -387,12 +384,11 @@ variable [AddCommGroup M]
 
 -- Porting note: `S.toIntSubmodule` doesn't work. I used `AddSubgroup.toIntSubmodule S` instead.
 /-- An additive subgroup is equivalent to a ℤ-submodule. -/
-def AddSubgroup.toIntSubmodule : AddSubgroup M ≃o Submodule ℤ M
-    where
+def AddSubgroup.toIntSubmodule : AddSubgroup M ≃o Submodule ℤ M where
   toFun S := { S with smul_mem' := fun _ _ hs ↦ S.zsmul_mem hs _ }
   invFun := Submodule.toAddSubgroup
-  left_inv := fun _ ↦ rfl
-  right_inv := fun _ ↦ rfl
+  left_inv _ := rfl
+  right_inv _ := rfl
   map_rel_iff' := Iff.rfl
 #align add_subgroup.to_int_submodule AddSubgroup.toIntSubmodule
 
chore: scoped BigOperators notation (#1952)
Diff
@@ -302,8 +302,7 @@ theorem mem_supᵢ_of_mem {ι : Sort _} {b : M} {p : ι → Submodule R M} (i :
   (le_supᵢ p i) h
 #align submodule.mem_supr_of_mem Submodule.mem_supᵢ_of_mem
 
--- Porting note: commented out
--- open BigOperators
+open BigOperators
 
 theorem sum_mem_supᵢ {ι : Type _} [Fintype ι] {f : ι → M} {p : ι → Submodule R M}
     (h : ∀ i, f i ∈ p i) : (∑ i, f i) ∈ ⨆ i, p i :=
feat: port Algebra.Module.Submodule.Lattice (#1898)

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

Dependencies 4 + 298

299 files ported (98.7%)
125797 lines ported (99.1%)
Show graph

The unported dependencies are