algebra.category.Module.basicMathlib.Algebra.Category.ModuleCat.Basic

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -3,10 +3,10 @@ Copyright (c) 2019 Robert A. Spencer. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Robert A. Spencer, Markus Himmel
 -/
-import Algebra.Category.Group.Preadditive
+import Algebra.Category.GroupCat.Preadditive
 import CategoryTheory.Linear.Basic
 import CategoryTheory.Elementwise
-import LinearAlgebra.Basic
+import Algebra.Module.Submodule.Ker
 import CategoryTheory.Conj
 import CategoryTheory.Preadditive.AdditiveFunctor
 
Diff
@@ -3,12 +3,12 @@ Copyright (c) 2019 Robert A. Spencer. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Robert A. Spencer, Markus Himmel
 -/
-import Mathbin.Algebra.Category.Group.Preadditive
-import Mathbin.CategoryTheory.Linear.Basic
-import Mathbin.CategoryTheory.Elementwise
-import Mathbin.LinearAlgebra.Basic
-import Mathbin.CategoryTheory.Conj
-import Mathbin.CategoryTheory.Preadditive.AdditiveFunctor
+import Algebra.Category.Group.Preadditive
+import CategoryTheory.Linear.Basic
+import CategoryTheory.Elementwise
+import LinearAlgebra.Basic
+import CategoryTheory.Conj
+import CategoryTheory.Preadditive.AdditiveFunctor
 
 #align_import algebra.category.Module.basic from "leanprover-community/mathlib"@"814d76e2247d5ba8bc024843552da1278bfe9e5c"
 
Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2019 Robert A. Spencer. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Robert A. Spencer, Markus Himmel
-
-! This file was ported from Lean 3 source module algebra.category.Module.basic
-! leanprover-community/mathlib commit 814d76e2247d5ba8bc024843552da1278bfe9e5c
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Category.Group.Preadditive
 import Mathbin.CategoryTheory.Linear.Basic
@@ -15,6 +10,8 @@ import Mathbin.LinearAlgebra.Basic
 import Mathbin.CategoryTheory.Conj
 import Mathbin.CategoryTheory.Preadditive.AdditiveFunctor
 
+#align_import algebra.category.Module.basic from "leanprover-community/mathlib"@"814d76e2247d5ba8bc024843552da1278bfe9e5c"
+
 /-!
 # The category of `R`-modules
 
Diff
@@ -110,11 +110,13 @@ instance moduleConcreteCategory : ConcreteCategory.{v} (ModuleCat.{v} R)
 #align Module.Module_concrete_category ModuleCat.moduleConcreteCategory
 -/
 
+#print ModuleCat.hasForgetToAddCommGroup /-
 instance hasForgetToAddCommGroup : HasForget₂ (ModuleCat R) AddCommGroupCat
     where forget₂ :=
     { obj := fun M => AddCommGroupCat.of M
       map := fun M₁ M₂ f => LinearMap.toAddMonoidHom f }
 #align Module.has_forget_to_AddCommGroup ModuleCat.hasForgetToAddCommGroup
+-/
 
 instance (M N : ModuleCat R) : LinearMapClass (M ⟶ N) R M N :=
   { LinearMap.semilinearMapClass with coe := fun f => f }
@@ -126,23 +128,29 @@ def of (X : Type v) [AddCommGroup X] [Module R X] : ModuleCat R :=
 #align Module.of ModuleCat.of
 -/
 
+#print ModuleCat.forget₂_obj /-
 @[simp]
 theorem forget₂_obj (X : ModuleCat R) :
     (forget₂ (ModuleCat R) AddCommGroupCat).obj X = AddCommGroupCat.of X :=
   rfl
 #align Module.forget₂_obj ModuleCat.forget₂_obj
+-/
 
+#print ModuleCat.forget₂_obj_moduleCat_of /-
 @[simp]
 theorem forget₂_obj_moduleCat_of (X : Type v) [AddCommGroup X] [Module R X] :
     (forget₂ (ModuleCat R) AddCommGroupCat).obj (of R X) = AddCommGroupCat.of X :=
   rfl
 #align Module.forget₂_obj_Module_of ModuleCat.forget₂_obj_moduleCat_of
+-/
 
+#print ModuleCat.forget₂_map /-
 @[simp]
 theorem forget₂_map (X Y : ModuleCat R) (f : X ⟶ Y) :
     (forget₂ (ModuleCat R) AddCommGroupCat).map f = LinearMap.toAddMonoidHom f :=
   rfl
 #align Module.forget₂_map ModuleCat.forget₂_map
+-/
 
 #print ModuleCat.ofHom /-
 /-- Typecheck a `linear_map` as a morphism in `Module R`. -/
@@ -152,11 +160,13 @@ def ofHom {R : Type u} [Ring R] {X Y : Type v} [AddCommGroup X] [Module R X] [Ad
 #align Module.of_hom ModuleCat.ofHom
 -/
 
+#print ModuleCat.ofHom_apply /-
 @[simp]
 theorem ofHom_apply {R : Type u} [Ring R] {X Y : Type v} [AddCommGroup X] [Module R X]
     [AddCommGroup Y] [Module R Y] (f : X →ₗ[R] Y) (x : X) : ofHom f x = f x :=
   rfl
 #align Module.of_hom_apply ModuleCat.ofHom_apply
+-/
 
 instance : Inhabited (ModuleCat R) :=
   ⟨of R PUnit⟩
@@ -187,27 +197,33 @@ def ofSelfIso (M : ModuleCat R) : ModuleCat.of R M ≅ M
 #align Module.of_self_iso ModuleCat.ofSelfIso
 -/
 
+#print ModuleCat.isZero_of_subsingleton /-
 theorem isZero_of_subsingleton (M : ModuleCat R) [Subsingleton M] : IsZero M :=
   by
   refine' ⟨fun X => ⟨⟨⟨0⟩, fun f => _⟩⟩, fun X => ⟨⟨⟨0⟩, fun f => _⟩⟩⟩
   · ext; have : x = 0 := Subsingleton.elim _ _; rw [this, map_zero, map_zero]
   · ext; apply Subsingleton.elim
 #align Module.is_zero_of_subsingleton ModuleCat.isZero_of_subsingleton
+-/
 
 instance : HasZeroObject (ModuleCat.{v} R) :=
   ⟨⟨of R PUnit, isZero_of_subsingleton _⟩⟩
 
 variable {R} {M N U : ModuleCat.{v} R}
 
+#print ModuleCat.id_apply /-
 @[simp]
 theorem id_apply (m : M) : (𝟙 M : M → M) m = m :=
   rfl
 #align Module.id_apply ModuleCat.id_apply
+-/
 
+#print ModuleCat.coe_comp /-
 @[simp]
 theorem coe_comp (f : M ⟶ N) (g : N ⟶ U) : (f ≫ g : M → U) = g ∘ f :=
   rfl
 #align Module.coe_comp ModuleCat.coe_comp
+-/
 
 #print ModuleCat.comp_def /-
 theorem comp_def (f : M ⟶ N) (g : N ⟶ U) : f ≫ g = g.comp f :=
@@ -229,7 +245,6 @@ def ModuleCat.asHom [AddCommGroup X₁] [Module R X₁] [AddCommGroup X₂] [Mod
 #align Module.as_hom ModuleCat.asHom
 -/
 
--- mathport name: Module.as_hom
 scoped[ModuleCat] notation "↟" f:1024 => ModuleCat.asHom f
 
 #print ModuleCat.asHomRight /-
@@ -240,7 +255,6 @@ def ModuleCat.asHomRight [AddCommGroup X₁] [Module R X₁] {X₂ : ModuleCat.{
 #align Module.as_hom_right ModuleCat.asHomRight
 -/
 
--- mathport name: Module.as_hom_right
 scoped[ModuleCat] notation "↾" f:1024 => ModuleCat.asHomRight f
 
 #print ModuleCat.asHomLeft /-
@@ -251,7 +265,6 @@ def ModuleCat.asHomLeft {X₁ : ModuleCat.{v} R} [AddCommGroup X₂] [Module R X
 #align Module.as_hom_left ModuleCat.asHomLeft
 -/
 
--- mathport name: Module.as_hom_left
 scoped[ModuleCat] notation "↿" f:1024 => ModuleCat.asHomLeft f
 
 #print LinearEquiv.toModuleIso /-
@@ -351,9 +364,11 @@ instance : Preadditive (ModuleCat.{v} R)
   add_comp P Q R f f' g := show (f + f') ≫ g = f ≫ g + f' ≫ g by ext; simp
   comp_add P Q R f g g' := show f ≫ (g + g') = f ≫ g + f ≫ g' by ext; simp
 
+#print ModuleCat.forget₂_addCommGroupCat_additive /-
 instance forget₂_addCommGroupCat_additive : (forget₂ (ModuleCat.{v} R) AddCommGroupCat).Additive
     where
 #align Module.forget₂_AddCommGroup_additive ModuleCat.forget₂_addCommGroupCat_additive
+-/
 
 section
 
@@ -374,10 +389,12 @@ theorem Iso.homCongr_eq_arrowCongr (i : X ≅ X') (j : Y ≅ Y') (f : X ⟶ Y) :
 #align Module.iso.hom_congr_eq_arrow_congr ModuleCat.Iso.homCongr_eq_arrowCongr
 -/
 
+#print ModuleCat.Iso.conj_eq_conj /-
 theorem Iso.conj_eq_conj (i : X ≅ X') (f : End X) :
     Iso.conj i f = LinearEquiv.conj i.toLinearEquiv f :=
   rfl
 #align Module.iso.conj_eq_conj ModuleCat.Iso.conj_eq_conj
+-/
 
 end
 
Diff
@@ -110,13 +110,11 @@ instance moduleConcreteCategory : ConcreteCategory.{v} (ModuleCat.{v} R)
 #align Module.Module_concrete_category ModuleCat.moduleConcreteCategory
 -/
 
-#print ModuleCat.hasForgetToAddCommGroup /-
 instance hasForgetToAddCommGroup : HasForget₂ (ModuleCat R) AddCommGroupCat
     where forget₂ :=
     { obj := fun M => AddCommGroupCat.of M
       map := fun M₁ M₂ f => LinearMap.toAddMonoidHom f }
 #align Module.has_forget_to_AddCommGroup ModuleCat.hasForgetToAddCommGroup
--/
 
 instance (M N : ModuleCat R) : LinearMapClass (M ⟶ N) R M N :=
   { LinearMap.semilinearMapClass with coe := fun f => f }
Diff
@@ -364,8 +364,8 @@ variable {S : Type u} [CommRing S]
 instance : Linear S (ModuleCat.{v} S)
     where
   homModule X Y := LinearMap.module
-  smul_comp' := by intros ; ext; simp
-  comp_smul' := by intros ; ext; simp
+  smul_comp' := by intros; ext; simp
+  comp_smul' := by intros; ext; simp
 
 variable {X Y X' Y' : ModuleCat.{v} S}
 
Diff
@@ -128,33 +128,18 @@ def of (X : Type v) [AddCommGroup X] [Module R X] : ModuleCat R :=
 #align Module.of ModuleCat.of
 -/
 
-/- warning: Module.forget₂_obj -> ModuleCat.forget₂_obj is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Ring.{u1} R] (X : ModuleCat.{u2, u1} R _inst_1), Eq.{succ (succ u2)} AddCommGroupCat.{u2} (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X) (AddCommGroupCat.of.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R _inst_1) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R _inst_1) X) (ModuleCat.isAddCommGroup.{u2, u1} R _inst_1 X))
-but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : Ring.{u2} R] (X : ModuleCat.{u1, u2} R _inst_1), Eq.{succ (succ u1)} AddCommGroupCat.{u1} (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) X) (AddCommGroupCat.of.{u1} (ModuleCat.carrier.{u1, u2} R _inst_1 X) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 X))
-Case conversion may be inaccurate. Consider using '#align Module.forget₂_obj ModuleCat.forget₂_objₓ'. -/
 @[simp]
 theorem forget₂_obj (X : ModuleCat R) :
     (forget₂ (ModuleCat R) AddCommGroupCat).obj X = AddCommGroupCat.of X :=
   rfl
 #align Module.forget₂_obj ModuleCat.forget₂_obj
 
-/- warning: Module.forget₂_obj_Module_of -> ModuleCat.forget₂_obj_moduleCat_of is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u2}) [_inst_1 : Ring.{u2} R] (X : Type.{u1}) [_inst_2 : AddCommGroup.{u1} X] [_inst_3 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} X _inst_2)], Eq.{succ (succ u1)} AddCommGroupCat.{u1} (CategoryTheory.Functor.obj.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1)) (ModuleCat.of.{u1, u2} R _inst_1 X _inst_2 _inst_3)) (AddCommGroupCat.of.{u1} X _inst_2)
-but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : Ring.{u2} R] (X : Type.{u1}) [_inst_2 : AddCommGroup.{u1} X] [_inst_3 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} X _inst_2)], Eq.{succ (succ u1)} AddCommGroupCat.{u1} (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) (ModuleCat.of.{u1, u2} R _inst_1 X _inst_2 _inst_3)) (AddCommGroupCat.of.{u1} X _inst_2)
-Case conversion may be inaccurate. Consider using '#align Module.forget₂_obj_Module_of ModuleCat.forget₂_obj_moduleCat_ofₓ'. -/
 @[simp]
 theorem forget₂_obj_moduleCat_of (X : Type v) [AddCommGroup X] [Module R X] :
     (forget₂ (ModuleCat R) AddCommGroupCat).obj (of R X) = AddCommGroupCat.of X :=
   rfl
 #align Module.forget₂_obj_Module_of ModuleCat.forget₂_obj_moduleCat_of
 
-/- warning: Module.forget₂_map -> ModuleCat.forget₂_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align Module.forget₂_map ModuleCat.forget₂_mapₓ'. -/
 @[simp]
 theorem forget₂_map (X Y : ModuleCat R) (f : X ⟶ Y) :
     (forget₂ (ModuleCat R) AddCommGroupCat).map f = LinearMap.toAddMonoidHom f :=
@@ -169,12 +154,6 @@ def ofHom {R : Type u} [Ring R] {X Y : Type v} [AddCommGroup X] [Module R X] [Ad
 #align Module.of_hom ModuleCat.ofHom
 -/
 
-/- warning: Module.of_hom_apply -> ModuleCat.ofHom_apply is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u2}} [_inst_2 : Ring.{u2} R] {X : Type.{u1}} {Y : Type.{u1}} [_inst_3 : AddCommGroup.{u1} X] [_inst_4 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3)] [_inst_5 : AddCommGroup.{u1} Y] [_inst_6 : Module.{u2, u1} R Y (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5)] (f : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (x : X), Eq.{succ u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (ModuleCat.moduleCategory.{u1, u2} R _inst_2))) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) (ModuleCat.ofHom.{u1, u2} R _inst_2 X Y _inst_3 _inst_4 _inst_5 _inst_6 f) x) (coeFn.{succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) => X -> Y) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R X Y (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) f x)
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_2 : Ring.{u2} R] {X : Type.{u1}} {Y : Type.{u1}} [_inst_3 : AddCommGroup.{u1} X] [_inst_4 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3)] [_inst_5 : AddCommGroup.{u1} Y] [_inst_6 : Module.{u2, u1} R Y (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5)] (f : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (x : X), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (ModuleCat.moduleCategory.{u1, u2} R _inst_2))) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.ofHom.{u1, u2} R _inst_2 X Y _inst_3 _inst_4 _inst_5 _inst_6 f) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) X (fun (_x : X) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : X) => Y) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R X Y (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) f x)
-Case conversion may be inaccurate. Consider using '#align Module.of_hom_apply ModuleCat.ofHom_applyₓ'. -/
 @[simp]
 theorem ofHom_apply {R : Type u} [Ring R] {X Y : Type v} [AddCommGroup X] [Module R X]
     [AddCommGroup Y] [Module R Y] (f : X →ₗ[R] Y) (x : X) : ofHom f x = f x :=
@@ -210,12 +189,6 @@ def ofSelfIso (M : ModuleCat R) : ModuleCat.of R M ≅ M
 #align Module.of_self_iso ModuleCat.ofSelfIso
 -/
 
-/- warning: Module.is_zero_of_subsingleton -> ModuleCat.isZero_of_subsingleton is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : Ring.{u1} R] (M : ModuleCat.{u2, u1} R _inst_1) [_inst_2 : Subsingleton.{succ u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R _inst_1) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R _inst_1) M)], CategoryTheory.Limits.IsZero.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) M
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] (M : ModuleCat.{u1, u2} R _inst_1) [_inst_2 : Subsingleton.{succ u1} (ModuleCat.carrier.{u1, u2} R _inst_1 M)], CategoryTheory.Limits.IsZero.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) M
-Case conversion may be inaccurate. Consider using '#align Module.is_zero_of_subsingleton ModuleCat.isZero_of_subsingletonₓ'. -/
 theorem isZero_of_subsingleton (M : ModuleCat R) [Subsingleton M] : IsZero M :=
   by
   refine' ⟨fun X => ⟨⟨⟨0⟩, fun f => _⟩⟩, fun X => ⟨⟨⟨0⟩, fun f => _⟩⟩⟩
@@ -228,20 +201,11 @@ instance : HasZeroObject (ModuleCat.{v} R) :=
 
 variable {R} {M N U : ModuleCat.{v} R}
 
-/- warning: Module.id_apply -> ModuleCat.id_apply is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {M : ModuleCat.{u1, u2} R _inst_1} (m : coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M), Eq.{succ u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M M) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 M)) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M)) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (CategoryTheory.CategoryStruct.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1)) M) m) m
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {M : ModuleCat.{u1, u2} R _inst_1} (m : ModuleCat.carrier.{u1, u2} R _inst_1 M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 M) m) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M M) (ModuleCat.carrier.{u1, u2} R _inst_1 M) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_1 M) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 M) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_1 M M) (CategoryTheory.CategoryStruct.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1)) M) m) m
-Case conversion may be inaccurate. Consider using '#align Module.id_apply ModuleCat.id_applyₓ'. -/
 @[simp]
 theorem id_apply (m : M) : (𝟙 M : M → M) m = m :=
   rfl
 #align Module.id_apply ModuleCat.id_apply
 
-/- warning: Module.coe_comp -> ModuleCat.coe_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align Module.coe_comp ModuleCat.coe_compₓ'. -/
 @[simp]
 theorem coe_comp (f : M ⟶ N) (g : N ⟶ U) : (f ≫ g : M → U) = g ∘ f :=
   rfl
@@ -389,12 +353,6 @@ instance : Preadditive (ModuleCat.{v} R)
   add_comp P Q R f f' g := show (f + f') ≫ g = f ≫ g + f' ≫ g by ext; simp
   comp_add P Q R f g g' := show f ≫ (g + g') = f ≫ g + f ≫ g' by ext; simp
 
-/- warning: Module.forget₂_AddCommGroup_additive -> ModuleCat.forget₂_addCommGroupCat_additive is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R], CategoryTheory.Functor.Additive.{max u2 (succ u1), succ u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u2} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R], CategoryTheory.Functor.Additive.{max u2 (succ u1), succ u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{max (succ u1) u2, succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))
-Case conversion may be inaccurate. Consider using '#align Module.forget₂_AddCommGroup_additive ModuleCat.forget₂_addCommGroupCat_additiveₓ'. -/
 instance forget₂_addCommGroupCat_additive : (forget₂ (ModuleCat.{v} R) AddCommGroupCat).Additive
     where
 #align Module.forget₂_AddCommGroup_additive ModuleCat.forget₂_addCommGroupCat_additive
@@ -418,9 +376,6 @@ theorem Iso.homCongr_eq_arrowCongr (i : X ≅ X') (j : Y ≅ Y') (f : X ⟶ Y) :
 #align Module.iso.hom_congr_eq_arrow_congr ModuleCat.Iso.homCongr_eq_arrowCongr
 -/
 
-/- warning: Module.iso.conj_eq_conj -> ModuleCat.Iso.conj_eq_conj is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align Module.iso.conj_eq_conj ModuleCat.Iso.conj_eq_conjₓ'. -/
 theorem Iso.conj_eq_conj (i : X ≅ X') (f : End X) :
     Iso.conj i f = LinearEquiv.conj i.toLinearEquiv f :=
   rfl
Diff
@@ -219,11 +219,8 @@ Case conversion may be inaccurate. Consider using '#align Module.is_zero_of_subs
 theorem isZero_of_subsingleton (M : ModuleCat R) [Subsingleton M] : IsZero M :=
   by
   refine' ⟨fun X => ⟨⟨⟨0⟩, fun f => _⟩⟩, fun X => ⟨⟨⟨0⟩, fun f => _⟩⟩⟩
-  · ext
-    have : x = 0 := Subsingleton.elim _ _
-    rw [this, map_zero, map_zero]
-  · ext
-    apply Subsingleton.elim
+  · ext; have : x = 0 := Subsingleton.elim _ _; rw [this, map_zero, map_zero]
+  · ext; apply Subsingleton.elim
 #align Module.is_zero_of_subsingleton ModuleCat.isZero_of_subsingleton
 
 instance : HasZeroObject (ModuleCat.{v} R) :=
@@ -389,14 +386,8 @@ namespace ModuleCat
 
 instance : Preadditive (ModuleCat.{v} R)
     where
-  add_comp P Q R f f' g :=
-    show (f + f') ≫ g = f ≫ g + f' ≫ g by
-      ext
-      simp
-  comp_add P Q R f g g' :=
-    show f ≫ (g + g') = f ≫ g + f ≫ g' by
-      ext
-      simp
+  add_comp P Q R f f' g := show (f + f') ≫ g = f ≫ g + f' ≫ g by ext; simp
+  comp_add P Q R f g g' := show f ≫ (g + g') = f ≫ g + f ≫ g' by ext; simp
 
 /- warning: Module.forget₂_AddCommGroup_additive -> ModuleCat.forget₂_addCommGroupCat_additive is a dubious translation:
 lean 3 declaration is
@@ -415,14 +406,8 @@ variable {S : Type u} [CommRing S]
 instance : Linear S (ModuleCat.{v} S)
     where
   homModule X Y := LinearMap.module
-  smul_comp' := by
-    intros
-    ext
-    simp
-  comp_smul' := by
-    intros
-    ext
-    simp
+  smul_comp' := by intros ; ext; simp
+  comp_smul' := by intros ; ext; simp
 
 variable {X Y X' Y' : ModuleCat.{v} S}
 
Diff
@@ -153,10 +153,7 @@ theorem forget₂_obj_moduleCat_of (X : Type v) [AddCommGroup X] [Module R X] :
 #align Module.forget₂_obj_Module_of ModuleCat.forget₂_obj_moduleCat_of
 
 /- warning: Module.forget₂_map -> ModuleCat.forget₂_map is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : Ring.{u1} R] (X : ModuleCat.{u2, u1} R _inst_1) (Y : ModuleCat.{u2, u1} R _inst_1) (f : Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1))) X Y), Eq.{succ u2} (Quiver.Hom.{succ u2, succ u2} AddCommGroupCat.{u2} (CategoryTheory.CategoryStruct.toQuiver.{u2, succ u2} AddCommGroupCat.{u2} (CategoryTheory.Category.toCategoryStruct.{u2, succ u2} AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2})) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) Y)) (CategoryTheory.Functor.map.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X Y f) (LinearMap.toAddMonoidHom.{u1, u1, u2, u2} R R (coeSort.{succ (succ u2), succ (succ u2)} (CategoryTheory.Bundled.{u2, u2} AddCommGroup.{u2}) Type.{u2} (CategoryTheory.Bundled.hasCoeToSort.{u2, u2} AddCommGroup.{u2}) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X)) (coeSort.{succ (succ u2), succ (succ u2)} (CategoryTheory.Bundled.{u2, u2} AddCommGroup.{u2}) Type.{u2} (CategoryTheory.Bundled.hasCoeToSort.{u2, u2} AddCommGroup.{u2}) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) Y)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{succ (succ u2), succ (succ u2)} (CategoryTheory.Bundled.{u2, u2} AddCommGroup.{u2}) Type.{u2} (CategoryTheory.Bundled.hasCoeToSort.{u2, u2} AddCommGroup.{u2}) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X)) (AddCommGroupCat.addCommGroupInstance.{u2} (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X))) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{succ (succ u2), succ (succ u2)} (CategoryTheory.Bundled.{u2, u2} AddCommGroup.{u2}) Type.{u2} (CategoryTheory.Bundled.hasCoeToSort.{u2, u2} AddCommGroup.{u2}) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) Y)) (AddCommGroupCat.addCommGroupInstance.{u2} (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) Y))) (ModuleCat.isModule.{u2, u1} R _inst_1 X) (ModuleCat.isModule.{u2, u1} R _inst_1 Y) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) f)
-but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : Ring.{u2} R] (X : ModuleCat.{u1, u2} R _inst_1) (Y : ModuleCat.{u1, u2} R _inst_1) (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) X Y), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) X) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) Y)) (Prefunctor.map.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) X Y f) (LinearMap.toAddMonoidHom.{u2, u2, u1, u1} R R (ModuleCat.carrier.{u1, u2} R _inst_1 X) (ModuleCat.carrier.{u1, u2} R _inst_1 Y) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R _inst_1 X) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R _inst_1 Y) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 Y)) (ModuleCat.isModule.{u1, u2} R _inst_1 X) (ModuleCat.isModule.{u1, u2} R _inst_1 Y) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align Module.forget₂_map ModuleCat.forget₂_mapₓ'. -/
 @[simp]
 theorem forget₂_map (X Y : ModuleCat R) (f : X ⟶ Y) :
@@ -246,10 +243,7 @@ theorem id_apply (m : M) : (𝟙 M : M → M) m = m :=
 #align Module.id_apply ModuleCat.id_apply
 
 /- warning: Module.coe_comp -> ModuleCat.coe_comp is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {M : ModuleCat.{u1, u2} R _inst_1} {N : ModuleCat.{u1, u2} R _inst_1} {U : ModuleCat.{u1, u2} R _inst_1} (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M N) (g : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) N U), Eq.{succ u1} ((fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 U)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 U)) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U)) (CategoryTheory.CategoryStruct.comp.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1)) M N U f g)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M U) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 U)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 U)) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U)) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 U)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 U) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (CategoryTheory.CategoryStruct.comp.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1)) M N U f g)) (Function.comp.{succ u1, succ u1, succ u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) N U) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 N)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 U)) (ModuleCat.isModule.{u1, u2} R _inst_1 N) (ModuleCat.isModule.{u1, u2} R _inst_1 U)) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U)) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 N)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 U)) (ModuleCat.isModule.{u1, u2} R _inst_1 N) (ModuleCat.isModule.{u1, u2} R _inst_1 U) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) g) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M N) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 N)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 N)) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N)) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 N)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 N) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) f))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {M : ModuleCat.{u1, u2} R _inst_1} {N : ModuleCat.{u1, u2} R _inst_1} {U : ModuleCat.{u1, u2} R _inst_1} (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M N) (g : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) N U), Eq.{succ u1} (forall (a : ModuleCat.carrier.{u1, u2} R _inst_1 M), (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 U) a) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M U) (ModuleCat.carrier.{u1, u2} R _inst_1 M) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_1 M) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 U) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_1 M U) (CategoryTheory.CategoryStruct.comp.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1)) M N U f g)) (Function.comp.{succ u1, succ u1, succ u1} (ModuleCat.carrier.{u1, u2} R _inst_1 M) (ModuleCat.carrier.{u1, u2} R _inst_1 N) (ModuleCat.carrier.{u1, u2} R _inst_1 U) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) N U) (ModuleCat.carrier.{u1, u2} R _inst_1 N) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_1 N) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_1 N) => ModuleCat.carrier.{u1, u2} R _inst_1 U) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_1 N U) g) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M N) (ModuleCat.carrier.{u1, u2} R _inst_1 M) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_1 M) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 N) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_1 M N) f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align Module.coe_comp ModuleCat.coe_compₓ'. -/
 @[simp]
 theorem coe_comp (f : M ⟶ N) (g : N ⟶ U) : (f ≫ g : M → U) = g ∘ f :=
@@ -440,10 +434,7 @@ theorem Iso.homCongr_eq_arrowCongr (i : X ≅ X') (j : Y ≅ Y') (f : X ⟶ Y) :
 -/
 
 /- warning: Module.iso.conj_eq_conj -> ModuleCat.Iso.conj_eq_conj is a dubious translation:
-lean 3 declaration is
-  forall {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] {X : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} {X' : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} (i : CategoryTheory.Iso.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X') (f : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X), Eq.{succ u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (fun (_x : MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) => (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) -> (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (MulEquiv.hasCoeToFun.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.Iso.conj.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X' i) f) (coeFn.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (LinearEquiv.conj._proof_3.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearEquiv.conj._proof_4.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (LinearEquiv.conj._proof_5.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (LinearEquiv.conj._proof_6.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (fun (_x : LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (LinearEquiv.conj._proof_3.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearEquiv.conj._proof_4.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (LinearEquiv.conj._proof_5.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (LinearEquiv.conj._proof_6.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) => (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) -> (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))) (LinearEquiv.hasCoeToFun.{u2, u2, u1, u1} S S (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (LinearEquiv.conj._proof_5.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (LinearEquiv.conj._proof_6.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (LinearEquiv.conj._proof_3.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearEquiv.conj._proof_4.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (LinearEquiv.conj.{u2, u1, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CategoryTheory.Iso.toLinearEquiv.{u2, u1} S (CommRing.toRing.{u2} S _inst_2) X X' i)) f)
-but is expected to have type
-  forall {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] {X : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} {X' : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} (i : CategoryTheory.Iso.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X') (f : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') f) (FunLike.coe.{succ u1, succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (fun (_x : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (EquivLike.toEmbeddingLike.{succ u1, succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulEquivClass.toEquivLike.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulEquiv.instMulEquivClassMulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X'))))) (CategoryTheory.Iso.conj.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X' i) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (fun (_x : Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) => Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (SMulZeroClass.toSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddMonoid.toZero.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddMonoid.toAddZeroClass.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))))))) (SMulZeroClass.toSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddMonoid.toZero.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddMonoid.toAddZeroClass.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} S S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} S S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (LinearEquiv.conj.{u2, u1, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CategoryTheory.Iso.toLinearEquiv.{u2, u1} S (CommRing.toRing.{u2} S _inst_2) X X' i)) f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align Module.iso.conj_eq_conj ModuleCat.Iso.conj_eq_conjₓ'. -/
 theorem Iso.conj_eq_conj (i : X ≅ X') (f : End X) :
     Iso.conj i f = LinearEquiv.conj i.toLinearEquiv f :=
Diff
@@ -176,7 +176,7 @@ def ofHom {R : Type u} [Ring R] {X Y : Type v} [AddCommGroup X] [Module R X] [Ad
 lean 3 declaration is
   forall {R : Type.{u2}} [_inst_2 : Ring.{u2} R] {X : Type.{u1}} {Y : Type.{u1}} [_inst_3 : AddCommGroup.{u1} X] [_inst_4 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3)] [_inst_5 : AddCommGroup.{u1} Y] [_inst_6 : Module.{u2, u1} R Y (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5)] (f : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (x : X), Eq.{succ u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (ModuleCat.moduleCategory.{u1, u2} R _inst_2))) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) (ModuleCat.ofHom.{u1, u2} R _inst_2 X Y _inst_3 _inst_4 _inst_5 _inst_6 f) x) (coeFn.{succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) => X -> Y) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R X Y (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) f x)
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_2 : Ring.{u2} R] {X : Type.{u1}} {Y : Type.{u1}} [_inst_3 : AddCommGroup.{u1} X] [_inst_4 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3)] [_inst_5 : AddCommGroup.{u1} Y] [_inst_6 : Module.{u2, u1} R Y (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5)] (f : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (x : X), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (ModuleCat.moduleCategory.{u1, u2} R _inst_2))) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.ofHom.{u1, u2} R _inst_2 X Y _inst_3 _inst_4 _inst_5 _inst_6 f) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) X (fun (_x : X) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : X) => Y) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R X Y (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) f x)
+  forall {R : Type.{u2}} [_inst_2 : Ring.{u2} R] {X : Type.{u1}} {Y : Type.{u1}} [_inst_3 : AddCommGroup.{u1} X] [_inst_4 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3)] [_inst_5 : AddCommGroup.{u1} Y] [_inst_6 : Module.{u2, u1} R Y (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5)] (f : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (x : X), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (ModuleCat.moduleCategory.{u1, u2} R _inst_2))) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.ofHom.{u1, u2} R _inst_2 X Y _inst_3 _inst_4 _inst_5 _inst_6 f) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) X (fun (_x : X) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : X) => Y) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R X Y (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) f x)
 Case conversion may be inaccurate. Consider using '#align Module.of_hom_apply ModuleCat.ofHom_applyₓ'. -/
 @[simp]
 theorem ofHom_apply {R : Type u} [Ring R] {X Y : Type v} [AddCommGroup X] [Module R X]
@@ -443,7 +443,7 @@ theorem Iso.homCongr_eq_arrowCongr (i : X ≅ X') (j : Y ≅ Y') (f : X ⟶ Y) :
 lean 3 declaration is
   forall {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] {X : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} {X' : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} (i : CategoryTheory.Iso.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X') (f : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X), Eq.{succ u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (fun (_x : MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) => (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) -> (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (MulEquiv.hasCoeToFun.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.Iso.conj.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X' i) f) (coeFn.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (LinearEquiv.conj._proof_3.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearEquiv.conj._proof_4.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (LinearEquiv.conj._proof_5.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (LinearEquiv.conj._proof_6.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (fun (_x : LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (LinearEquiv.conj._proof_3.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearEquiv.conj._proof_4.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (LinearEquiv.conj._proof_5.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (LinearEquiv.conj._proof_6.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) => (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) -> (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))) (LinearEquiv.hasCoeToFun.{u2, u2, u1, u1} S S (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (LinearEquiv.conj._proof_5.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (LinearEquiv.conj._proof_6.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (LinearEquiv.conj._proof_3.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearEquiv.conj._proof_4.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (LinearEquiv.conj.{u2, u1, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CategoryTheory.Iso.toLinearEquiv.{u2, u1} S (CommRing.toRing.{u2} S _inst_2) X X' i)) f)
 but is expected to have type
-  forall {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] {X : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} {X' : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} (i : CategoryTheory.Iso.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X') (f : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') f) (FunLike.coe.{succ u1, succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (fun (_x : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (EquivLike.toEmbeddingLike.{succ u1, succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulEquivClass.toEquivLike.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulEquiv.instMulEquivClassMulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X'))))) (CategoryTheory.Iso.conj.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X' i) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (fun (_x : Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) => Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (SMulZeroClass.toSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddMonoid.toZero.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddMonoid.toAddZeroClass.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))))))) (SMulZeroClass.toSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddMonoid.toZero.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddMonoid.toAddZeroClass.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} S S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} S S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (LinearEquiv.conj.{u2, u1, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CategoryTheory.Iso.toLinearEquiv.{u2, u1} S (CommRing.toRing.{u2} S _inst_2) X X' i)) f)
+  forall {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] {X : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} {X' : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} (i : CategoryTheory.Iso.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X') (f : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') f) (FunLike.coe.{succ u1, succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (fun (_x : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (EquivLike.toEmbeddingLike.{succ u1, succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulEquivClass.toEquivLike.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulEquiv.instMulEquivClassMulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X'))))) (CategoryTheory.Iso.conj.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X' i) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (fun (_x : Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) => Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (SMulZeroClass.toSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddMonoid.toZero.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddMonoid.toAddZeroClass.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))))))) (SMulZeroClass.toSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddMonoid.toZero.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddMonoid.toAddZeroClass.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} S S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} S S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (LinearEquiv.conj.{u2, u1, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CategoryTheory.Iso.toLinearEquiv.{u2, u1} S (CommRing.toRing.{u2} S _inst_2) X X' i)) f)
 Case conversion may be inaccurate. Consider using '#align Module.iso.conj_eq_conj ModuleCat.Iso.conj_eq_conjₓ'. -/
 theorem Iso.conj_eq_conj (i : X ≅ X') (f : End X) :
     Iso.conj i f = LinearEquiv.conj i.toLinearEquiv f :=
Diff
@@ -176,7 +176,7 @@ def ofHom {R : Type u} [Ring R] {X Y : Type v} [AddCommGroup X] [Module R X] [Ad
 lean 3 declaration is
   forall {R : Type.{u2}} [_inst_2 : Ring.{u2} R] {X : Type.{u1}} {Y : Type.{u1}} [_inst_3 : AddCommGroup.{u1} X] [_inst_4 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3)] [_inst_5 : AddCommGroup.{u1} Y] [_inst_6 : Module.{u2, u1} R Y (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5)] (f : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (x : X), Eq.{succ u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (ModuleCat.moduleCategory.{u1, u2} R _inst_2))) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) (ModuleCat.ofHom.{u1, u2} R _inst_2 X Y _inst_3 _inst_4 _inst_5 _inst_6 f) x) (coeFn.{succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) => X -> Y) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R X Y (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) f x)
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_2 : Ring.{u2} R] {X : Type.{u1}} {Y : Type.{u1}} [_inst_3 : AddCommGroup.{u1} X] [_inst_4 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3)] [_inst_5 : AddCommGroup.{u1} Y] [_inst_6 : Module.{u2, u1} R Y (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5)] (f : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (x : X), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (ModuleCat.moduleCategory.{u1, u2} R _inst_2))) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.ofHom.{u1, u2} R _inst_2 X Y _inst_3 _inst_4 _inst_5 _inst_6 f) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) X (fun (_x : X) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : X) => Y) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R X Y (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) f x)
+  forall {R : Type.{u2}} [_inst_2 : Ring.{u2} R] {X : Type.{u1}} {Y : Type.{u1}} [_inst_3 : AddCommGroup.{u1} X] [_inst_4 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3)] [_inst_5 : AddCommGroup.{u1} Y] [_inst_6 : Module.{u2, u1} R Y (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5)] (f : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (x : X), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (ModuleCat.moduleCategory.{u1, u2} R _inst_2))) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.ofHom.{u1, u2} R _inst_2 X Y _inst_3 _inst_4 _inst_5 _inst_6 f) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) X (fun (_x : X) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : X) => Y) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R X Y (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) f x)
 Case conversion may be inaccurate. Consider using '#align Module.of_hom_apply ModuleCat.ofHom_applyₓ'. -/
 @[simp]
 theorem ofHom_apply {R : Type u} [Ring R] {X Y : Type v} [AddCommGroup X] [Module R X]
Diff
@@ -443,7 +443,7 @@ theorem Iso.homCongr_eq_arrowCongr (i : X ≅ X') (j : Y ≅ Y') (f : X ⟶ Y) :
 lean 3 declaration is
   forall {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] {X : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} {X' : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} (i : CategoryTheory.Iso.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X') (f : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X), Eq.{succ u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (fun (_x : MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) => (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) -> (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (MulEquiv.hasCoeToFun.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.Iso.conj.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X' i) f) (coeFn.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (LinearEquiv.conj._proof_3.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearEquiv.conj._proof_4.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (LinearEquiv.conj._proof_5.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (LinearEquiv.conj._proof_6.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (fun (_x : LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (LinearEquiv.conj._proof_3.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearEquiv.conj._proof_4.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (LinearEquiv.conj._proof_5.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (LinearEquiv.conj._proof_6.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) => (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) -> (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))) (LinearEquiv.hasCoeToFun.{u2, u2, u1, u1} S S (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (LinearEquiv.conj._proof_5.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (LinearEquiv.conj._proof_6.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (LinearEquiv.conj._proof_3.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearEquiv.conj._proof_4.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (LinearEquiv.conj.{u2, u1, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CategoryTheory.Iso.toLinearEquiv.{u2, u1} S (CommRing.toRing.{u2} S _inst_2) X X' i)) f)
 but is expected to have type
-  forall {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] {X : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} {X' : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} (i : CategoryTheory.Iso.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X') (f : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') f) (FunLike.coe.{succ u1, succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (fun (_x : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') _x) (MulHomClass.toFunLike.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulOneClass.toMul.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (MulZeroOneClass.toMulOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (Semiring.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.Preadditive.instSemiringEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X))))) (MulOneClass.toMul.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulZeroOneClass.toMulOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (Semiring.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.Preadditive.instSemiringEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X'))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulZeroOneClass.toMulOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (Semiring.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.Preadditive.instSemiringEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X)))) (MulZeroOneClass.toMulOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (Semiring.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.Preadditive.instSemiringEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X')))) (MonoidWithZeroHomClass.toMonoidHomClass.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (Semiring.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.Preadditive.instSemiringEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X))) (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (Semiring.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.Preadditive.instSemiringEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X'))) (MulEquivClass.toMonoidWithZeroHomClass.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (Semiring.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.Preadditive.instSemiringEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X))) (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (Semiring.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.Preadditive.instSemiringEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X'))) (MulEquiv.instMulEquivClassMulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')))))) (CategoryTheory.Iso.conj.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X' i) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (fun (_x : Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) => Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (SMulZeroClass.toSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddMonoid.toZero.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddMonoid.toAddZeroClass.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))))))) (SMulZeroClass.toSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddMonoid.toZero.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddMonoid.toAddZeroClass.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} S S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} S S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (LinearEquiv.conj.{u2, u1, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CategoryTheory.Iso.toLinearEquiv.{u2, u1} S (CommRing.toRing.{u2} S _inst_2) X X' i)) f)
+  forall {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] {X : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} {X' : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} (i : CategoryTheory.Iso.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X') (f : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X), Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') f) (FunLike.coe.{succ u1, succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (fun (_x : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') _x) (EmbeddingLike.toFunLike.{succ u1, succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (EquivLike.toEmbeddingLike.{succ u1, succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulEquivClass.toEquivLike.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulEquiv.instMulEquivClassMulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X'))))) (CategoryTheory.Iso.conj.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X' i) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (fun (_x : Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) => Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (SMulZeroClass.toSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddMonoid.toZero.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddMonoid.toAddZeroClass.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))))))) (SMulZeroClass.toSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddMonoid.toZero.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddMonoid.toAddZeroClass.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} S S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} S S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (LinearEquiv.conj.{u2, u1, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CategoryTheory.Iso.toLinearEquiv.{u2, u1} S (CommRing.toRing.{u2} S _inst_2) X X' i)) f)
 Case conversion may be inaccurate. Consider using '#align Module.iso.conj_eq_conj ModuleCat.Iso.conj_eq_conjₓ'. -/
 theorem Iso.conj_eq_conj (i : X ≅ X') (f : End X) :
     Iso.conj i f = LinearEquiv.conj i.toLinearEquiv f :=
Diff
@@ -132,7 +132,7 @@ def of (X : Type v) [AddCommGroup X] [Module R X] : ModuleCat R :=
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Ring.{u1} R] (X : ModuleCat.{u2, u1} R _inst_1), Eq.{succ (succ u2)} AddCommGroupCat.{u2} (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X) (AddCommGroupCat.of.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R _inst_1) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R _inst_1) X) (ModuleCat.isAddCommGroup.{u2, u1} R _inst_1 X))
 but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : Ring.{u2} R] (X : ModuleCat.{u1, u2} R _inst_1), Eq.{succ (succ u1)} AddCommGroupCat.{u1} (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) X) (AddCommGroupCat.of.{u1} (ModuleCat.carrier.{u1, u2} R _inst_1 X) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 X))
+  forall (R : Type.{u2}) [_inst_1 : Ring.{u2} R] (X : ModuleCat.{u1, u2} R _inst_1), Eq.{succ (succ u1)} AddCommGroupCat.{u1} (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) X) (AddCommGroupCat.of.{u1} (ModuleCat.carrier.{u1, u2} R _inst_1 X) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 X))
 Case conversion may be inaccurate. Consider using '#align Module.forget₂_obj ModuleCat.forget₂_objₓ'. -/
 @[simp]
 theorem forget₂_obj (X : ModuleCat R) :
@@ -144,7 +144,7 @@ theorem forget₂_obj (X : ModuleCat R) :
 lean 3 declaration is
   forall (R : Type.{u2}) [_inst_1 : Ring.{u2} R] (X : Type.{u1}) [_inst_2 : AddCommGroup.{u1} X] [_inst_3 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} X _inst_2)], Eq.{succ (succ u1)} AddCommGroupCat.{u1} (CategoryTheory.Functor.obj.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1)) (ModuleCat.of.{u1, u2} R _inst_1 X _inst_2 _inst_3)) (AddCommGroupCat.of.{u1} X _inst_2)
 but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : Ring.{u2} R] (X : Type.{u1}) [_inst_2 : AddCommGroup.{u1} X] [_inst_3 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} X _inst_2)], Eq.{succ (succ u1)} AddCommGroupCat.{u1} (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) (ModuleCat.of.{u1, u2} R _inst_1 X _inst_2 _inst_3)) (AddCommGroupCat.of.{u1} X _inst_2)
+  forall (R : Type.{u2}) [_inst_1 : Ring.{u2} R] (X : Type.{u1}) [_inst_2 : AddCommGroup.{u1} X] [_inst_3 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} X _inst_2)], Eq.{succ (succ u1)} AddCommGroupCat.{u1} (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) (ModuleCat.of.{u1, u2} R _inst_1 X _inst_2 _inst_3)) (AddCommGroupCat.of.{u1} X _inst_2)
 Case conversion may be inaccurate. Consider using '#align Module.forget₂_obj_Module_of ModuleCat.forget₂_obj_moduleCat_ofₓ'. -/
 @[simp]
 theorem forget₂_obj_moduleCat_of (X : Type v) [AddCommGroup X] [Module R X] :
@@ -156,7 +156,7 @@ theorem forget₂_obj_moduleCat_of (X : Type v) [AddCommGroup X] [Module R X] :
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : Ring.{u1} R] (X : ModuleCat.{u2, u1} R _inst_1) (Y : ModuleCat.{u2, u1} R _inst_1) (f : Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1))) X Y), Eq.{succ u2} (Quiver.Hom.{succ u2, succ u2} AddCommGroupCat.{u2} (CategoryTheory.CategoryStruct.toQuiver.{u2, succ u2} AddCommGroupCat.{u2} (CategoryTheory.Category.toCategoryStruct.{u2, succ u2} AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2})) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) Y)) (CategoryTheory.Functor.map.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X Y f) (LinearMap.toAddMonoidHom.{u1, u1, u2, u2} R R (coeSort.{succ (succ u2), succ (succ u2)} (CategoryTheory.Bundled.{u2, u2} AddCommGroup.{u2}) Type.{u2} (CategoryTheory.Bundled.hasCoeToSort.{u2, u2} AddCommGroup.{u2}) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X)) (coeSort.{succ (succ u2), succ (succ u2)} (CategoryTheory.Bundled.{u2, u2} AddCommGroup.{u2}) Type.{u2} (CategoryTheory.Bundled.hasCoeToSort.{u2, u2} AddCommGroup.{u2}) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) Y)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{succ (succ u2), succ (succ u2)} (CategoryTheory.Bundled.{u2, u2} AddCommGroup.{u2}) Type.{u2} (CategoryTheory.Bundled.hasCoeToSort.{u2, u2} AddCommGroup.{u2}) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X)) (AddCommGroupCat.addCommGroupInstance.{u2} (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X))) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{succ (succ u2), succ (succ u2)} (CategoryTheory.Bundled.{u2, u2} AddCommGroup.{u2}) Type.{u2} (CategoryTheory.Bundled.hasCoeToSort.{u2, u2} AddCommGroup.{u2}) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) Y)) (AddCommGroupCat.addCommGroupInstance.{u2} (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) Y))) (ModuleCat.isModule.{u2, u1} R _inst_1 X) (ModuleCat.isModule.{u2, u1} R _inst_1 Y) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) f)
 but is expected to have type
-  forall (R : Type.{u2}) [_inst_1 : Ring.{u2} R] (X : ModuleCat.{u1, u2} R _inst_1) (Y : ModuleCat.{u1, u2} R _inst_1) (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) X Y), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) X) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) Y)) (Prefunctor.map.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) X Y f) (LinearMap.toAddMonoidHom.{u2, u2, u1, u1} R R (ModuleCat.carrier.{u1, u2} R _inst_1 X) (ModuleCat.carrier.{u1, u2} R _inst_1 Y) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R _inst_1 X) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R _inst_1 Y) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 Y)) (ModuleCat.isModule.{u1, u2} R _inst_1 X) (ModuleCat.isModule.{u1, u2} R _inst_1 Y) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) f)
+  forall (R : Type.{u2}) [_inst_1 : Ring.{u2} R] (X : ModuleCat.{u1, u2} R _inst_1) (Y : ModuleCat.{u1, u2} R _inst_1) (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) X Y), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) X) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) Y)) (Prefunctor.map.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} instAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) X Y f) (LinearMap.toAddMonoidHom.{u2, u2, u1, u1} R R (ModuleCat.carrier.{u1, u2} R _inst_1 X) (ModuleCat.carrier.{u1, u2} R _inst_1 Y) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R _inst_1 X) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R _inst_1 Y) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 Y)) (ModuleCat.isModule.{u1, u2} R _inst_1 X) (ModuleCat.isModule.{u1, u2} R _inst_1 Y) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) f)
 Case conversion may be inaccurate. Consider using '#align Module.forget₂_map ModuleCat.forget₂_mapₓ'. -/
 @[simp]
 theorem forget₂_map (X Y : ModuleCat R) (f : X ⟶ Y) :
@@ -176,7 +176,7 @@ def ofHom {R : Type u} [Ring R] {X Y : Type v} [AddCommGroup X] [Module R X] [Ad
 lean 3 declaration is
   forall {R : Type.{u2}} [_inst_2 : Ring.{u2} R] {X : Type.{u1}} {Y : Type.{u1}} [_inst_3 : AddCommGroup.{u1} X] [_inst_4 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3)] [_inst_5 : AddCommGroup.{u1} Y] [_inst_6 : Module.{u2, u1} R Y (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5)] (f : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (x : X), Eq.{succ u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (ModuleCat.moduleCategory.{u1, u2} R _inst_2))) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) (ModuleCat.ofHom.{u1, u2} R _inst_2 X Y _inst_3 _inst_4 _inst_5 _inst_6 f) x) (coeFn.{succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) => X -> Y) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R X Y (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) f x)
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_2 : Ring.{u2} R] {X : Type.{u1}} {Y : Type.{u1}} [_inst_3 : AddCommGroup.{u1} X] [_inst_4 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3)] [_inst_5 : AddCommGroup.{u1} Y] [_inst_6 : Module.{u2, u1} R Y (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5)] (f : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (x : X), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.275 : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (ModuleCat.moduleCategory.{u1, u2} R _inst_2))) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.275 : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.ofHom.{u1, u2} R _inst_2 X Y _inst_3 _inst_4 _inst_5 _inst_6 f) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) X (fun (_x : X) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : X) => Y) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R X Y (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) f x)
+  forall {R : Type.{u2}} [_inst_2 : Ring.{u2} R] {X : Type.{u1}} {Y : Type.{u1}} [_inst_3 : AddCommGroup.{u1} X] [_inst_4 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3)] [_inst_5 : AddCommGroup.{u1} Y] [_inst_6 : Module.{u2, u1} R Y (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5)] (f : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (x : X), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (ModuleCat.moduleCategory.{u1, u2} R _inst_2))) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.ofHom.{u1, u2} R _inst_2 X Y _inst_3 _inst_4 _inst_5 _inst_6 f) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) X (fun (_x : X) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : X) => Y) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R X Y (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) f x)
 Case conversion may be inaccurate. Consider using '#align Module.of_hom_apply ModuleCat.ofHom_applyₓ'. -/
 @[simp]
 theorem ofHom_apply {R : Type u} [Ring R] {X Y : Type v} [AddCommGroup X] [Module R X]
@@ -238,7 +238,7 @@ variable {R} {M N U : ModuleCat.{v} R}
 lean 3 declaration is
   forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {M : ModuleCat.{u1, u2} R _inst_1} (m : coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M), Eq.{succ u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M M) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 M)) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M)) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (CategoryTheory.CategoryStruct.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1)) M) m) m
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {M : ModuleCat.{u1, u2} R _inst_1} (m : ModuleCat.carrier.{u1, u2} R _inst_1 M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.275 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 M) m) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M M) (ModuleCat.carrier.{u1, u2} R _inst_1 M) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_1 M) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.275 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 M) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_1 M M) (CategoryTheory.CategoryStruct.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1)) M) m) m
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {M : ModuleCat.{u1, u2} R _inst_1} (m : ModuleCat.carrier.{u1, u2} R _inst_1 M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 M) m) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M M) (ModuleCat.carrier.{u1, u2} R _inst_1 M) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_1 M) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 M) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_1 M M) (CategoryTheory.CategoryStruct.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1)) M) m) m
 Case conversion may be inaccurate. Consider using '#align Module.id_apply ModuleCat.id_applyₓ'. -/
 @[simp]
 theorem id_apply (m : M) : (𝟙 M : M → M) m = m :=
@@ -249,7 +249,7 @@ theorem id_apply (m : M) : (𝟙 M : M → M) m = m :=
 lean 3 declaration is
   forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {M : ModuleCat.{u1, u2} R _inst_1} {N : ModuleCat.{u1, u2} R _inst_1} {U : ModuleCat.{u1, u2} R _inst_1} (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M N) (g : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) N U), Eq.{succ u1} ((fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 U)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 U)) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U)) (CategoryTheory.CategoryStruct.comp.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1)) M N U f g)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M U) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 U)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 U)) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U)) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 U)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 U) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (CategoryTheory.CategoryStruct.comp.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1)) M N U f g)) (Function.comp.{succ u1, succ u1, succ u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) N U) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 N)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 U)) (ModuleCat.isModule.{u1, u2} R _inst_1 N) (ModuleCat.isModule.{u1, u2} R _inst_1 U)) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U)) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 N)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 U)) (ModuleCat.isModule.{u1, u2} R _inst_1 N) (ModuleCat.isModule.{u1, u2} R _inst_1 U) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) g) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M N) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 N)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 N)) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N)) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 N)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 N) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) f))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {M : ModuleCat.{u1, u2} R _inst_1} {N : ModuleCat.{u1, u2} R _inst_1} {U : ModuleCat.{u1, u2} R _inst_1} (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M N) (g : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) N U), Eq.{succ u1} (forall (a : ModuleCat.carrier.{u1, u2} R _inst_1 M), (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.275 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 U) a) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M U) (ModuleCat.carrier.{u1, u2} R _inst_1 M) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_1 M) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.275 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 U) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_1 M U) (CategoryTheory.CategoryStruct.comp.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1)) M N U f g)) (Function.comp.{succ u1, succ u1, succ u1} (ModuleCat.carrier.{u1, u2} R _inst_1 M) (ModuleCat.carrier.{u1, u2} R _inst_1 N) (ModuleCat.carrier.{u1, u2} R _inst_1 U) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) N U) (ModuleCat.carrier.{u1, u2} R _inst_1 N) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_1 N) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.275 : ModuleCat.carrier.{u1, u2} R _inst_1 N) => ModuleCat.carrier.{u1, u2} R _inst_1 U) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_1 N U) g) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M N) (ModuleCat.carrier.{u1, u2} R _inst_1 M) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_1 M) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.275 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 N) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_1 M N) f))
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {M : ModuleCat.{u1, u2} R _inst_1} {N : ModuleCat.{u1, u2} R _inst_1} {U : ModuleCat.{u1, u2} R _inst_1} (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M N) (g : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) N U), Eq.{succ u1} (forall (a : ModuleCat.carrier.{u1, u2} R _inst_1 M), (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 U) a) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M U) (ModuleCat.carrier.{u1, u2} R _inst_1 M) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_1 M) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 U) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_1 M U) (CategoryTheory.CategoryStruct.comp.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1)) M N U f g)) (Function.comp.{succ u1, succ u1, succ u1} (ModuleCat.carrier.{u1, u2} R _inst_1 M) (ModuleCat.carrier.{u1, u2} R _inst_1 N) (ModuleCat.carrier.{u1, u2} R _inst_1 U) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) N U) (ModuleCat.carrier.{u1, u2} R _inst_1 N) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_1 N) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_1 N) => ModuleCat.carrier.{u1, u2} R _inst_1 U) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_1 N U) g) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M N) (ModuleCat.carrier.{u1, u2} R _inst_1 M) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_1 M) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.285 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 N) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_1 M N) f))
 Case conversion may be inaccurate. Consider using '#align Module.coe_comp ModuleCat.coe_compₓ'. -/
 @[simp]
 theorem coe_comp (f : M ⟶ N) (g : N ⟶ U) : (f ≫ g : M → U) = g ∘ f :=
@@ -408,7 +408,7 @@ instance : Preadditive (ModuleCat.{v} R)
 lean 3 declaration is
   forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R], CategoryTheory.Functor.Additive.{max u2 (succ u1), succ u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u2} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))
 but is expected to have type
-  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R], CategoryTheory.Functor.Additive.{max u2 (succ u1), succ u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{max (succ u1) u2, succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R], CategoryTheory.Functor.Additive.{max u2 (succ u1), succ u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) instAddCommGroupCatLargeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatInstAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{max (succ u1) u2, succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) instAddCommGroupCatLargeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))
 Case conversion may be inaccurate. Consider using '#align Module.forget₂_AddCommGroup_additive ModuleCat.forget₂_addCommGroupCat_additiveₓ'. -/
 instance forget₂_addCommGroupCat_additive : (forget₂ (ModuleCat.{v} R) AddCommGroupCat).Additive
     where
Diff
@@ -443,7 +443,7 @@ theorem Iso.homCongr_eq_arrowCongr (i : X ≅ X') (j : Y ≅ Y') (f : X ⟶ Y) :
 lean 3 declaration is
   forall {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] {X : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} {X' : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} (i : CategoryTheory.Iso.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X') (f : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X), Eq.{succ u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (fun (_x : MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) => (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) -> (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (MulEquiv.hasCoeToFun.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.Iso.conj.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X' i) f) (coeFn.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (LinearEquiv.conj._proof_3.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearEquiv.conj._proof_4.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (LinearEquiv.conj._proof_5.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (LinearEquiv.conj._proof_6.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (fun (_x : LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (LinearEquiv.conj._proof_3.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearEquiv.conj._proof_4.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (LinearEquiv.conj._proof_5.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (LinearEquiv.conj._proof_6.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) => (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) -> (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))) (LinearEquiv.hasCoeToFun.{u2, u2, u1, u1} S S (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (LinearEquiv.conj._proof_5.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (LinearEquiv.conj._proof_6.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (LinearEquiv.conj._proof_3.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearEquiv.conj._proof_4.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (LinearEquiv.conj.{u2, u1, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CategoryTheory.Iso.toLinearEquiv.{u2, u1} S (CommRing.toRing.{u2} S _inst_2) X X' i)) f)
 but is expected to have type
-  forall {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] {X : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} {X' : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} (i : CategoryTheory.Iso.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X') (f : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') f) (FunLike.coe.{succ u1, succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (fun (_x : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') _x) (MulHomClass.toFunLike.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulOneClass.toMul.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (MulZeroOneClass.toMulOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (NonAssocRing.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (Ring.toNonAssocRing.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X)))))) (MulOneClass.toMul.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulZeroOneClass.toMulOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocRing.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (Ring.toNonAssocRing.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X')))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulZeroOneClass.toMulOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (NonAssocRing.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (Ring.toNonAssocRing.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X))))) (MulZeroOneClass.toMulOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocRing.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (Ring.toNonAssocRing.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X'))))) (MonoidWithZeroHomClass.toMonoidHomClass.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (NonAssocRing.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (Ring.toNonAssocRing.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X)))) (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocRing.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (Ring.toNonAssocRing.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X')))) (MulEquivClass.toMonoidWithZeroHomClass.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (NonAssocRing.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (Ring.toNonAssocRing.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X)))) (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocRing.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (Ring.toNonAssocRing.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X')))) (MulEquiv.instMulEquivClassMulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')))))) (CategoryTheory.Iso.conj.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X' i) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (fun (_x : Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) => Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (SMulZeroClass.toSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddMonoid.toZero.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddMonoid.toAddZeroClass.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))))))) (SMulZeroClass.toSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddMonoid.toZero.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddMonoid.toAddZeroClass.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} S S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} S S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (LinearEquiv.conj.{u2, u1, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CategoryTheory.Iso.toLinearEquiv.{u2, u1} S (CommRing.toRing.{u2} S _inst_2) X X' i)) f)
+  forall {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] {X : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} {X' : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} (i : CategoryTheory.Iso.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X') (f : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') f) (FunLike.coe.{succ u1, succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (fun (_x : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') _x) (MulHomClass.toFunLike.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulOneClass.toMul.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (MulZeroOneClass.toMulOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (Semiring.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.Preadditive.instSemiringEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X))))) (MulOneClass.toMul.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulZeroOneClass.toMulOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (Semiring.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.Preadditive.instSemiringEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X'))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulZeroOneClass.toMulOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (Semiring.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.Preadditive.instSemiringEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X)))) (MulZeroOneClass.toMulOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (Semiring.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.Preadditive.instSemiringEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X')))) (MonoidWithZeroHomClass.toMonoidHomClass.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (Semiring.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.Preadditive.instSemiringEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X))) (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (Semiring.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.Preadditive.instSemiringEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X'))) (MulEquivClass.toMonoidWithZeroHomClass.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (Semiring.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.Preadditive.instSemiringEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X))) (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (Semiring.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.Preadditive.instSemiringEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X'))) (MulEquiv.instMulEquivClassMulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')))))) (CategoryTheory.Iso.conj.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X' i) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (fun (_x : Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) => Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (SMulZeroClass.toSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddMonoid.toZero.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddMonoid.toAddZeroClass.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))))))) (SMulZeroClass.toSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddMonoid.toZero.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddMonoid.toAddZeroClass.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} S S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} S S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (LinearEquiv.conj.{u2, u1, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CategoryTheory.Iso.toLinearEquiv.{u2, u1} S (CommRing.toRing.{u2} S _inst_2) X X' i)) f)
 Case conversion may be inaccurate. Consider using '#align Module.iso.conj_eq_conj ModuleCat.Iso.conj_eq_conjₓ'. -/
 theorem Iso.conj_eq_conj (i : X ≅ X') (f : End X) :
     Iso.conj i f = LinearEquiv.conj i.toLinearEquiv f :=
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Robert A. Spencer, Markus Himmel
 
 ! This file was ported from Lean 3 source module algebra.category.Module.basic
-! leanprover-community/mathlib commit 829895f162a1f29d0133f4b3538f4cd1fb5bffd3
+! leanprover-community/mathlib commit 814d76e2247d5ba8bc024843552da1278bfe9e5c
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -18,6 +18,9 @@ import Mathbin.CategoryTheory.Preadditive.AdditiveFunctor
 /-!
 # The category of `R`-modules
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 `Module.{v} R` is the category of bundled `R`-modules with carrier in the universe `v`. We show
 that it is preadditive and show that being an isomorphism, monomorphism and epimorphism is
 equivalent to being a linear equivalence, an injective linear map and a surjective linear map,
Diff
@@ -64,6 +64,7 @@ universe v u
 
 variable (R : Type u) [Ring R]
 
+#print ModuleCat /-
 /-- The category of R-modules and their morphisms.
 
  Note that in the case of `R = ℤ`, we can not
@@ -75,6 +76,7 @@ structure ModuleCat where
   [isAddCommGroup : AddCommGroup carrier]
   [isModule : Module R carrier]
 #align Module ModuleCat
+-/
 
 attribute [instance] ModuleCat.isAddCommGroup ModuleCat.isModule
 
@@ -83,6 +85,7 @@ namespace ModuleCat
 instance : CoeSort (ModuleCat.{v} R) (Type v) :=
   ⟨ModuleCat.Carrier⟩
 
+#print ModuleCat.moduleCategory /-
 instance moduleCategory : Category (ModuleCat.{v} R)
     where
   Hom M N := M →ₗ[R] N
@@ -92,7 +95,9 @@ instance moduleCategory : Category (ModuleCat.{v} R)
   comp_id' X Y f := LinearMap.comp_id _
   assoc' W X Y Z f g h := LinearMap.comp_assoc _ _ _
 #align Module.Module_category ModuleCat.moduleCategory
+-/
 
+#print ModuleCat.moduleConcreteCategory /-
 instance moduleConcreteCategory : ConcreteCategory.{v} (ModuleCat.{v} R)
     where
   forget :=
@@ -100,45 +105,76 @@ instance moduleConcreteCategory : ConcreteCategory.{v} (ModuleCat.{v} R)
       map := fun R S f => (f : R → S) }
   forget_faithful := { }
 #align Module.Module_concrete_category ModuleCat.moduleConcreteCategory
+-/
 
+#print ModuleCat.hasForgetToAddCommGroup /-
 instance hasForgetToAddCommGroup : HasForget₂ (ModuleCat R) AddCommGroupCat
     where forget₂ :=
     { obj := fun M => AddCommGroupCat.of M
       map := fun M₁ M₂ f => LinearMap.toAddMonoidHom f }
 #align Module.has_forget_to_AddCommGroup ModuleCat.hasForgetToAddCommGroup
+-/
 
 instance (M N : ModuleCat R) : LinearMapClass (M ⟶ N) R M N :=
   { LinearMap.semilinearMapClass with coe := fun f => f }
 
+#print ModuleCat.of /-
 /-- The object in the category of R-modules associated to an R-module -/
 def of (X : Type v) [AddCommGroup X] [Module R X] : ModuleCat R :=
   ⟨X⟩
 #align Module.of ModuleCat.of
+-/
 
+/- warning: Module.forget₂_obj -> ModuleCat.forget₂_obj is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Ring.{u1} R] (X : ModuleCat.{u2, u1} R _inst_1), Eq.{succ (succ u2)} AddCommGroupCat.{u2} (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X) (AddCommGroupCat.of.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R _inst_1) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R _inst_1) X) (ModuleCat.isAddCommGroup.{u2, u1} R _inst_1 X))
+but is expected to have type
+  forall (R : Type.{u2}) [_inst_1 : Ring.{u2} R] (X : ModuleCat.{u1, u2} R _inst_1), Eq.{succ (succ u1)} AddCommGroupCat.{u1} (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) X) (AddCommGroupCat.of.{u1} (ModuleCat.carrier.{u1, u2} R _inst_1 X) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 X))
+Case conversion may be inaccurate. Consider using '#align Module.forget₂_obj ModuleCat.forget₂_objₓ'. -/
 @[simp]
 theorem forget₂_obj (X : ModuleCat R) :
     (forget₂ (ModuleCat R) AddCommGroupCat).obj X = AddCommGroupCat.of X :=
   rfl
 #align Module.forget₂_obj ModuleCat.forget₂_obj
 
+/- warning: Module.forget₂_obj_Module_of -> ModuleCat.forget₂_obj_moduleCat_of is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u2}) [_inst_1 : Ring.{u2} R] (X : Type.{u1}) [_inst_2 : AddCommGroup.{u1} X] [_inst_3 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} X _inst_2)], Eq.{succ (succ u1)} AddCommGroupCat.{u1} (CategoryTheory.Functor.obj.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1)) (ModuleCat.of.{u1, u2} R _inst_1 X _inst_2 _inst_3)) (AddCommGroupCat.of.{u1} X _inst_2)
+but is expected to have type
+  forall (R : Type.{u2}) [_inst_1 : Ring.{u2} R] (X : Type.{u1}) [_inst_2 : AddCommGroup.{u1} X] [_inst_3 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} X _inst_2)], Eq.{succ (succ u1)} AddCommGroupCat.{u1} (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) (ModuleCat.of.{u1, u2} R _inst_1 X _inst_2 _inst_3)) (AddCommGroupCat.of.{u1} X _inst_2)
+Case conversion may be inaccurate. Consider using '#align Module.forget₂_obj_Module_of ModuleCat.forget₂_obj_moduleCat_ofₓ'. -/
 @[simp]
 theorem forget₂_obj_moduleCat_of (X : Type v) [AddCommGroup X] [Module R X] :
     (forget₂ (ModuleCat R) AddCommGroupCat).obj (of R X) = AddCommGroupCat.of X :=
   rfl
 #align Module.forget₂_obj_Module_of ModuleCat.forget₂_obj_moduleCat_of
 
+/- warning: Module.forget₂_map -> ModuleCat.forget₂_map is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : Ring.{u1} R] (X : ModuleCat.{u2, u1} R _inst_1) (Y : ModuleCat.{u2, u1} R _inst_1) (f : Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1))) X Y), Eq.{succ u2} (Quiver.Hom.{succ u2, succ u2} AddCommGroupCat.{u2} (CategoryTheory.CategoryStruct.toQuiver.{u2, succ u2} AddCommGroupCat.{u2} (CategoryTheory.Category.toCategoryStruct.{u2, succ u2} AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2})) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) Y)) (CategoryTheory.Functor.map.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X Y f) (LinearMap.toAddMonoidHom.{u1, u1, u2, u2} R R (coeSort.{succ (succ u2), succ (succ u2)} (CategoryTheory.Bundled.{u2, u2} AddCommGroup.{u2}) Type.{u2} (CategoryTheory.Bundled.hasCoeToSort.{u2, u2} AddCommGroup.{u2}) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X)) (coeSort.{succ (succ u2), succ (succ u2)} (CategoryTheory.Bundled.{u2, u2} AddCommGroup.{u2}) Type.{u2} (CategoryTheory.Bundled.hasCoeToSort.{u2, u2} AddCommGroup.{u2}) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) Y)) (Ring.toSemiring.{u1} R _inst_1) (Ring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{succ (succ u2), succ (succ u2)} (CategoryTheory.Bundled.{u2, u2} AddCommGroup.{u2}) Type.{u2} (CategoryTheory.Bundled.hasCoeToSort.{u2, u2} AddCommGroup.{u2}) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X)) (AddCommGroupCat.addCommGroupInstance.{u2} (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) X))) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{succ (succ u2), succ (succ u2)} (CategoryTheory.Bundled.{u2, u2} AddCommGroup.{u2}) Type.{u2} (CategoryTheory.Bundled.hasCoeToSort.{u2, u2} AddCommGroup.{u2}) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) Y)) (AddCommGroupCat.addCommGroupInstance.{u2} (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), succ u2} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) AddCommGroupCat.{u2} AddCommGroupCat.largeCategory.{u2} (CategoryTheory.forget₂.{max u1 (succ u2), succ u2, u2, u2, u2} (ModuleCat.{u2, u1} R _inst_1) AddCommGroupCat.{u2} (ModuleCat.moduleCategory.{u2, u1} R _inst_1) (ModuleCat.moduleConcreteCategory.{u2, u1} R _inst_1) AddCommGroupCat.largeCategory.{u2} AddCommGroupCat.concreteCategory.{u2} (ModuleCat.hasForgetToAddCommGroup.{u1, u2} R _inst_1)) Y))) (ModuleCat.isModule.{u2, u1} R _inst_1 X) (ModuleCat.isModule.{u2, u1} R _inst_1 Y) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R _inst_1))) f)
+but is expected to have type
+  forall (R : Type.{u2}) [_inst_1 : Ring.{u2} R] (X : ModuleCat.{u1, u2} R _inst_1) (Y : ModuleCat.{u1, u2} R _inst_1) (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) X Y), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) X) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) Y)) (Prefunctor.map.{succ u1, succ u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) AddCommGroupCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} AddCommGroupCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1})) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), succ u1} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.{u1} AddCommGroupCat.largeCategory.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))) X Y f) (LinearMap.toAddMonoidHom.{u2, u2, u1, u1} R R (ModuleCat.carrier.{u1, u2} R _inst_1 X) (ModuleCat.carrier.{u1, u2} R _inst_1 Y) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R _inst_1 X) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R _inst_1 Y) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 Y)) (ModuleCat.isModule.{u1, u2} R _inst_1 X) (ModuleCat.isModule.{u1, u2} R _inst_1 Y) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) f)
+Case conversion may be inaccurate. Consider using '#align Module.forget₂_map ModuleCat.forget₂_mapₓ'. -/
 @[simp]
 theorem forget₂_map (X Y : ModuleCat R) (f : X ⟶ Y) :
     (forget₂ (ModuleCat R) AddCommGroupCat).map f = LinearMap.toAddMonoidHom f :=
   rfl
 #align Module.forget₂_map ModuleCat.forget₂_map
 
+#print ModuleCat.ofHom /-
 /-- Typecheck a `linear_map` as a morphism in `Module R`. -/
 def ofHom {R : Type u} [Ring R] {X Y : Type v} [AddCommGroup X] [Module R X] [AddCommGroup Y]
     [Module R Y] (f : X →ₗ[R] Y) : of R X ⟶ of R Y :=
   f
 #align Module.of_hom ModuleCat.ofHom
+-/
 
+/- warning: Module.of_hom_apply -> ModuleCat.ofHom_apply is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u2}} [_inst_2 : Ring.{u2} R] {X : Type.{u1}} {Y : Type.{u1}} [_inst_3 : AddCommGroup.{u1} X] [_inst_4 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3)] [_inst_5 : AddCommGroup.{u1} Y] [_inst_6 : Module.{u2, u1} R Y (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5)] (f : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (x : X), Eq.{succ u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (ModuleCat.moduleCategory.{u1, u2} R _inst_2))) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4))) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_2) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_2) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6))) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (ModuleCat.isModule.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) (ModuleCat.ofHom.{u1, u2} R _inst_2 X Y _inst_3 _inst_4 _inst_5 _inst_6 f) x) (coeFn.{succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) => X -> Y) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R X Y (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) f x)
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_2 : Ring.{u2} R] {X : Type.{u1}} {Y : Type.{u1}} [_inst_3 : AddCommGroup.{u1} X] [_inst_4 : Module.{u2, u1} R X (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3)] [_inst_5 : AddCommGroup.{u1} Y] [_inst_6 : Module.{u2, u1} R Y (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5)] (f : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) (x : X), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.275 : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) x) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_2) (ModuleCat.moduleCategory.{u1, u2} R _inst_2))) (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.275 : ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4)) => ModuleCat.carrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_2 (ModuleCat.of.{u1, u2} R _inst_2 X _inst_3 _inst_4) (ModuleCat.of.{u1, u2} R _inst_2 Y _inst_5 _inst_6)) (ModuleCat.ofHom.{u1, u2} R _inst_2 X Y _inst_3 _inst_4 _inst_5 _inst_6 f) x) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2))) X Y (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6) X (fun (_x : X) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : X) => Y) _x) (LinearMap.instFunLikeLinearMap.{u2, u2, u1, u1} R R X Y (Ring.toSemiring.{u2} R _inst_2) (Ring.toSemiring.{u2} R _inst_2) (AddCommGroup.toAddCommMonoid.{u1} X _inst_3) (AddCommGroup.toAddCommMonoid.{u1} Y _inst_5) _inst_4 _inst_6 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_2)))) f x)
+Case conversion may be inaccurate. Consider using '#align Module.of_hom_apply ModuleCat.ofHom_applyₓ'. -/
 @[simp]
 theorem ofHom_apply {R : Type u} [Ring R] {X Y : Type v} [AddCommGroup X] [Module R X]
     [AddCommGroup Y] [Module R Y] (f : X →ₗ[R] Y) (x : X) : ofHom f x = f x :=
@@ -148,17 +184,22 @@ theorem ofHom_apply {R : Type u} [Ring R] {X Y : Type v} [AddCommGroup X] [Modul
 instance : Inhabited (ModuleCat R) :=
   ⟨of R PUnit⟩
 
+#print ModuleCat.ofUnique /-
 instance ofUnique {X : Type v} [AddCommGroup X] [Module R X] [i : Unique X] : Unique (of R X) :=
   i
 #align Module.of_unique ModuleCat.ofUnique
+-/
 
+#print ModuleCat.coe_of /-
 @[simp]
 theorem coe_of (X : Type v) [AddCommGroup X] [Module R X] : (of R X : Type v) = X :=
   rfl
 #align Module.coe_of ModuleCat.coe_of
+-/
 
 variable {R}
 
+#print ModuleCat.ofSelfIso /-
 /-- Forgetting to the underlying type and then building the bundled object returns the original
 module. -/
 @[simps]
@@ -167,7 +208,14 @@ def ofSelfIso (M : ModuleCat R) : ModuleCat.of R M ≅ M
   Hom := 𝟙 M
   inv := 𝟙 M
 #align Module.of_self_iso ModuleCat.ofSelfIso
+-/
 
+/- warning: Module.is_zero_of_subsingleton -> ModuleCat.isZero_of_subsingleton is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : Ring.{u1} R] (M : ModuleCat.{u2, u1} R _inst_1) [_inst_2 : Subsingleton.{succ u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R _inst_1) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R _inst_1) M)], CategoryTheory.Limits.IsZero.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R _inst_1) (ModuleCat.moduleCategory.{u2, u1} R _inst_1) M
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] (M : ModuleCat.{u1, u2} R _inst_1) [_inst_2 : Subsingleton.{succ u1} (ModuleCat.carrier.{u1, u2} R _inst_1 M)], CategoryTheory.Limits.IsZero.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1) M
+Case conversion may be inaccurate. Consider using '#align Module.is_zero_of_subsingleton ModuleCat.isZero_of_subsingletonₓ'. -/
 theorem isZero_of_subsingleton (M : ModuleCat R) [Subsingleton M] : IsZero M :=
   by
   refine' ⟨fun X => ⟨⟨⟨0⟩, fun f => _⟩⟩, fun X => ⟨⟨⟨0⟩, fun f => _⟩⟩⟩
@@ -183,19 +231,33 @@ instance : HasZeroObject (ModuleCat.{v} R) :=
 
 variable {R} {M N U : ModuleCat.{v} R}
 
+/- warning: Module.id_apply -> ModuleCat.id_apply is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {M : ModuleCat.{u1, u2} R _inst_1} (m : coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M), Eq.{succ u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M M) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 M)) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M)) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (CategoryTheory.CategoryStruct.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1)) M) m) m
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {M : ModuleCat.{u1, u2} R _inst_1} (m : ModuleCat.carrier.{u1, u2} R _inst_1 M), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.275 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 M) m) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M M) (ModuleCat.carrier.{u1, u2} R _inst_1 M) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_1 M) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.275 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 M) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_1 M M) (CategoryTheory.CategoryStruct.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1)) M) m) m
+Case conversion may be inaccurate. Consider using '#align Module.id_apply ModuleCat.id_applyₓ'. -/
 @[simp]
 theorem id_apply (m : M) : (𝟙 M : M → M) m = m :=
   rfl
 #align Module.id_apply ModuleCat.id_apply
 
+/- warning: Module.coe_comp -> ModuleCat.coe_comp is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {M : ModuleCat.{u1, u2} R _inst_1} {N : ModuleCat.{u1, u2} R _inst_1} {U : ModuleCat.{u1, u2} R _inst_1} (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M N) (g : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) N U), Eq.{succ u1} ((fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 U)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 U)) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U)) (CategoryTheory.CategoryStruct.comp.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1)) M N U f g)) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M U) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 U)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 U)) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U)) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 U)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 U) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) (CategoryTheory.CategoryStruct.comp.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1)) M N U f g)) (Function.comp.{succ u1, succ u1, succ u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) N U) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 N)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 U)) (ModuleCat.isModule.{u1, u2} R _inst_1 N) (ModuleCat.isModule.{u1, u2} R _inst_1 U)) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U)) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 N)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) U) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 U)) (ModuleCat.isModule.{u1, u2} R _inst_1 N) (ModuleCat.isModule.{u1, u2} R _inst_1 U) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) g) (coeFn.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M N) (fun (_x : LinearMap.{u2, u2, u1, u1} R R (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1))) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 N)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 N)) => (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) -> (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N)) (LinearMap.hasCoeToFun.{u2, u2, u1, u1} R R (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (Ring.toSemiring.{u2} R _inst_1) (Ring.toSemiring.{u2} R _inst_1) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) M) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 M)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} R _inst_1) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} R _inst_1) N) (ModuleCat.isAddCommGroup.{u1, u2} R _inst_1 N)) (ModuleCat.isModule.{u1, u2} R _inst_1 M) (ModuleCat.isModule.{u1, u2} R _inst_1 N) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R _inst_1)))) f))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R] {M : ModuleCat.{u1, u2} R _inst_1} {N : ModuleCat.{u1, u2} R _inst_1} {U : ModuleCat.{u1, u2} R _inst_1} (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M N) (g : Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) N U), Eq.{succ u1} (forall (a : ModuleCat.carrier.{u1, u2} R _inst_1 M), (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.275 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 U) a) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M U) (ModuleCat.carrier.{u1, u2} R _inst_1 M) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_1 M) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.275 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 U) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_1 M U) (CategoryTheory.CategoryStruct.comp.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1)) M N U f g)) (Function.comp.{succ u1, succ u1, succ u1} (ModuleCat.carrier.{u1, u2} R _inst_1 M) (ModuleCat.carrier.{u1, u2} R _inst_1 N) (ModuleCat.carrier.{u1, u2} R _inst_1 U) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) N U) (ModuleCat.carrier.{u1, u2} R _inst_1 N) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_1 N) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.275 : ModuleCat.carrier.{u1, u2} R _inst_1 N) => ModuleCat.carrier.{u1, u2} R _inst_1 U) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_1 N U) g) (FunLike.coe.{succ u1, succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R _inst_1) (ModuleCat.moduleCategory.{u1, u2} R _inst_1))) M N) (ModuleCat.carrier.{u1, u2} R _inst_1 M) (fun (_x : ModuleCat.carrier.{u1, u2} R _inst_1 M) => (fun (x._@.Mathlib.Algebra.Category.ModuleCat.Basic._hyg.275 : ModuleCat.carrier.{u1, u2} R _inst_1 M) => ModuleCat.carrier.{u1, u2} R _inst_1 N) _x) (ModuleCat.instFunLikeHomModuleCatToQuiverToCategoryStructModuleCategoryCarrier.{u1, u2} R _inst_1 M N) f))
+Case conversion may be inaccurate. Consider using '#align Module.coe_comp ModuleCat.coe_compₓ'. -/
 @[simp]
 theorem coe_comp (f : M ⟶ N) (g : N ⟶ U) : (f ≫ g : M → U) = g ∘ f :=
   rfl
 #align Module.coe_comp ModuleCat.coe_comp
 
+#print ModuleCat.comp_def /-
 theorem comp_def (f : M ⟶ N) (g : N ⟶ U) : f ≫ g = g.comp f :=
   rfl
 #align Module.comp_def ModuleCat.comp_def
+-/
 
 end ModuleCat
 
@@ -203,33 +265,40 @@ variable {R}
 
 variable {X₁ X₂ : Type v}
 
+#print ModuleCat.asHom /-
 /-- Reinterpreting a linear map in the category of `R`-modules. -/
 def ModuleCat.asHom [AddCommGroup X₁] [Module R X₁] [AddCommGroup X₂] [Module R X₂] :
     (X₁ →ₗ[R] X₂) → (ModuleCat.of R X₁ ⟶ ModuleCat.of R X₂) :=
   id
 #align Module.as_hom ModuleCat.asHom
+-/
 
 -- mathport name: Module.as_hom
 scoped[ModuleCat] notation "↟" f:1024 => ModuleCat.asHom f
 
+#print ModuleCat.asHomRight /-
 /-- Reinterpreting a linear map in the category of `R`-modules. -/
 def ModuleCat.asHomRight [AddCommGroup X₁] [Module R X₁] {X₂ : ModuleCat.{v} R} :
     (X₁ →ₗ[R] X₂) → (ModuleCat.of R X₁ ⟶ X₂) :=
   id
 #align Module.as_hom_right ModuleCat.asHomRight
+-/
 
 -- mathport name: Module.as_hom_right
 scoped[ModuleCat] notation "↾" f:1024 => ModuleCat.asHomRight f
 
+#print ModuleCat.asHomLeft /-
 /-- Reinterpreting a linear map in the category of `R`-modules. -/
 def ModuleCat.asHomLeft {X₁ : ModuleCat.{v} R} [AddCommGroup X₂] [Module R X₂] :
     (X₁ →ₗ[R] X₂) → (X₁ ⟶ ModuleCat.of R X₂) :=
   id
 #align Module.as_hom_left ModuleCat.asHomLeft
+-/
 
 -- mathport name: Module.as_hom_left
 scoped[ModuleCat] notation "↿" f:1024 => ModuleCat.asHomLeft f
 
+#print LinearEquiv.toModuleIso /-
 /-- Build an isomorphism in the category `Module R` from a `linear_equiv` between `module`s. -/
 @[simps]
 def LinearEquiv.toModuleIso {g₁ : AddCommGroup X₁} {g₂ : AddCommGroup X₂} {m₁ : Module R X₁}
@@ -240,7 +309,9 @@ def LinearEquiv.toModuleIso {g₁ : AddCommGroup X₁} {g₂ : AddCommGroup X₂
   hom_inv_id' := by ext; exact e.left_inv x
   inv_hom_id' := by ext; exact e.right_inv x
 #align linear_equiv.to_Module_iso LinearEquiv.toModuleIso
+-/
 
+#print LinearEquiv.toModuleIso' /-
 /-- Build an isomorphism in the category `Module R` from a `linear_equiv` between `module`s.
 
 This version is better than `linear_equiv_to_Module_iso` when applicable, because Lean can't see
@@ -253,7 +324,9 @@ def LinearEquiv.toModuleIso' {M N : ModuleCat.{v} R} (i : M ≃ₗ[R] N) : M ≅
   hom_inv_id' := LinearMap.ext fun x => by simp
   inv_hom_id' := LinearMap.ext fun x => by simp
 #align linear_equiv.to_Module_iso' LinearEquiv.toModuleIso'
+-/
 
+#print LinearEquiv.toModuleIso'Left /-
 /-- Build an isomorphism in the category `Module R` from a `linear_equiv` between `module`s.
 
 This version is better than `linear_equiv_to_Module_iso` when applicable, because Lean can't see
@@ -267,7 +340,9 @@ def LinearEquiv.toModuleIso'Left {X₁ : ModuleCat.{v} R} {g₂ : AddCommGroup X
   hom_inv_id' := LinearMap.ext fun x => by simp
   inv_hom_id' := LinearMap.ext fun x => by simp
 #align linear_equiv.to_Module_iso'_left LinearEquiv.toModuleIso'Left
+-/
 
+#print LinearEquiv.toModuleIso'Right /-
 /-- Build an isomorphism in the category `Module R` from a `linear_equiv` between `module`s.
 
 This version is better than `linear_equiv_to_Module_iso` when applicable, because Lean can't see
@@ -281,9 +356,11 @@ def LinearEquiv.toModuleIso'Right {g₁ : AddCommGroup X₁} {m₁ : Module R X
   hom_inv_id' := LinearMap.ext fun x => by simp
   inv_hom_id' := LinearMap.ext fun x => by simp
 #align linear_equiv.to_Module_iso'_right LinearEquiv.toModuleIso'Right
+-/
 
 namespace CategoryTheory.Iso
 
+#print CategoryTheory.Iso.toLinearEquiv /-
 /-- Build a `linear_equiv` from an isomorphism in the category `Module R`. -/
 @[simps]
 def toLinearEquiv {X Y : ModuleCat R} (i : X ≅ Y) : X ≃ₗ[R] Y
@@ -295,9 +372,11 @@ def toLinearEquiv {X Y : ModuleCat R} (i : X ≅ Y) : X ≃ₗ[R] Y
   map_add' := by tidy
   map_smul' := by tidy
 #align category_theory.iso.to_linear_equiv CategoryTheory.Iso.toLinearEquiv
+-/
 
 end CategoryTheory.Iso
 
+#print linearEquivIsoModuleIso /-
 /-- linear equivalences between `module`s are the same as (isomorphic to) isomorphisms
 in `Module` -/
 @[simps]
@@ -307,6 +386,7 @@ def linearEquivIsoModuleIso {X Y : Type u} [AddCommGroup X] [AddCommGroup Y] [Mo
   Hom e := e.toModuleIso
   inv i := i.toLinearEquiv
 #align linear_equiv_iso_Module_iso linearEquivIsoModuleIso
+-/
 
 namespace ModuleCat
 
@@ -321,6 +401,12 @@ instance : Preadditive (ModuleCat.{v} R)
       ext
       simp
 
+/- warning: Module.forget₂_AddCommGroup_additive -> ModuleCat.forget₂_addCommGroupCat_additive is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R], CategoryTheory.Functor.Additive.{max u2 (succ u1), succ u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.CategoryTheory.preadditive.{u1, u2} R _inst_1) AddCommGroupCat.CategoryTheory.preadditive.{u1} (CategoryTheory.forget₂.{max u2 (succ u1), succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_1 : Ring.{u2} R], CategoryTheory.Functor.Additive.{max u2 (succ u1), succ u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} R _inst_1) AddCommGroupCat.instPreadditiveAddCommGroupCatLargeCategory.{u1} (CategoryTheory.forget₂.{max (succ u1) u2, succ u1, u1, u1, u1} (ModuleCat.{u1, u2} R _inst_1) AddCommGroupCat.{u1} (ModuleCat.moduleCategory.{u1, u2} R _inst_1) (ModuleCat.moduleConcreteCategory.{u1, u2} R _inst_1) AddCommGroupCat.largeCategory.{u1} AddCommGroupCat.concreteCategory.{u1} (ModuleCat.hasForgetToAddCommGroup.{u2, u1} R _inst_1))
+Case conversion may be inaccurate. Consider using '#align Module.forget₂_AddCommGroup_additive ModuleCat.forget₂_addCommGroupCat_additiveₓ'. -/
 instance forget₂_addCommGroupCat_additive : (forget₂ (ModuleCat.{v} R) AddCommGroupCat).Additive
     where
 #align Module.forget₂_AddCommGroup_additive ModuleCat.forget₂_addCommGroupCat_additive
@@ -343,11 +429,19 @@ instance : Linear S (ModuleCat.{v} S)
 
 variable {X Y X' Y' : ModuleCat.{v} S}
 
+#print ModuleCat.Iso.homCongr_eq_arrowCongr /-
 theorem Iso.homCongr_eq_arrowCongr (i : X ≅ X') (j : Y ≅ Y') (f : X ⟶ Y) :
     Iso.homCongr i j f = LinearEquiv.arrowCongr i.toLinearEquiv j.toLinearEquiv f :=
   rfl
 #align Module.iso.hom_congr_eq_arrow_congr ModuleCat.Iso.homCongr_eq_arrowCongr
+-/
 
+/- warning: Module.iso.conj_eq_conj -> ModuleCat.Iso.conj_eq_conj is a dubious translation:
+lean 3 declaration is
+  forall {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] {X : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} {X' : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} (i : CategoryTheory.Iso.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X') (f : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X), Eq.{succ u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (coeFn.{succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (fun (_x : MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) => (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) -> (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (MulEquiv.hasCoeToFun.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.Iso.conj.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X' i) f) (coeFn.{succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (LinearEquiv.conj._proof_3.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearEquiv.conj._proof_4.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (LinearEquiv.conj._proof_5.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (LinearEquiv.conj._proof_6.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (fun (_x : LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (LinearEquiv.conj._proof_3.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearEquiv.conj._proof_4.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (LinearEquiv.conj._proof_5.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (LinearEquiv.conj._proof_6.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) => (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) -> (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))) (LinearEquiv.hasCoeToFun.{u2, u2, u1, u1} S S (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (LinearEquiv.conj._proof_5.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))) (LinearMap.module.{u2, u2, u2, u1, u1} S S S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (LinearEquiv.conj._proof_6.{u2, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (LinearEquiv.conj._proof_3.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearEquiv.conj._proof_4.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (LinearEquiv.conj.{u2, u1, u1} S (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (coeSort.{max (succ u2) (succ (succ u1)), succ (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) Type.{u1} (ModuleCat.hasCoeToSort.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CategoryTheory.Iso.toLinearEquiv.{u2, u1} S (CommRing.toRing.{u2} S _inst_2) X X' i)) f)
+but is expected to have type
+  forall {S : Type.{u2}} [_inst_2 : CommRing.{u2} S] {X : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} {X' : ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)} (i : CategoryTheory.Iso.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X') (f : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') f) (FunLike.coe.{succ u1, succ u1, succ u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (fun (_x : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) => CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') _x) (MulHomClass.toFunLike.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulOneClass.toMul.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (MulZeroOneClass.toMulOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (NonAssocRing.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (Ring.toNonAssocRing.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X)))))) (MulOneClass.toMul.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulZeroOneClass.toMulOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocRing.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (Ring.toNonAssocRing.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X')))))) (MonoidHomClass.toMulHomClass.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (MulZeroOneClass.toMulOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (NonAssocRing.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (Ring.toNonAssocRing.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X))))) (MulZeroOneClass.toMulOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocRing.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (Ring.toNonAssocRing.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X'))))) (MonoidWithZeroHomClass.toMonoidHomClass.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (NonAssocRing.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (Ring.toNonAssocRing.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X)))) (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocRing.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (Ring.toNonAssocRing.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X')))) (MulEquivClass.toMonoidWithZeroHomClass.{u1, u1, u1} (MulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (NonAssocRing.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (Ring.toNonAssocRing.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X)))) (NonAssocSemiring.toMulZeroOneClass.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (NonAssocRing.toNonAssocSemiring.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (Ring.toNonAssocRing.{u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.Preadditive.instRingEndToCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.instPreadditiveModuleCatModuleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X')))) (MulEquiv.instMulEquivClassMulEquiv.{u1, u1} (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X') (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X) (CategoryTheory.End.mul.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2))) X')))))) (CategoryTheory.Iso.conj.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) (ModuleCat.moduleCategory.{u1, u2} S (CommRing.toRing.{u2} S _inst_2)) X X' i) f) (FunLike.coe.{succ u1, succ u1, succ u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (fun (_x : Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) => Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) _x) (SMulHomClass.toFunLike.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (SMulZeroClass.toSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddMonoid.toZero.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddMonoid.toAddZeroClass.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))))))) (SMulZeroClass.toSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddMonoid.toZero.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribSMul.toSMulZeroClass.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddMonoid.toAddZeroClass.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))))) (DistribMulAction.toDistribSMul.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))))))) (DistribMulActionHomClass.toSMulHomClass.{u1, u2, u1, u1} (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (MonoidWithZero.toMonoid.{u2} S (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (AddCommMonoid.toAddMonoid.{u1} (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))))) (Module.toDistribMulAction.{u2, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (SemilinearMapClass.distribMulActionHomClass.{u2, u1, u1, u1} S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, u1, u1, u1} S S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearEquiv.{u2, u2, u1, u1} S S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, u1, u1} S S (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (Module.End.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.addCommMonoid.{u2, u2, u1, u1} S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u1, u1} S S S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (smulCommClass_self.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toCommMonoid.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (MulActionWithZero.toMulAction.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (Semiring.toMonoidWithZero.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (AddMonoid.toZero.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommMonoid.toAddMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')))) (Module.toMulActionWithZero.{u2, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X'))))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHom.id.{u2} S (Semiring.toNonAssocSemiring.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2))) (RingHomInvPair.ids.{u2} S (CommSemiring.toSemiring.{u2} S (CommRing.toCommSemiring.{u2} S _inst_2)))))))) (LinearEquiv.conj.{u2, u1, u1} S (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CommRing.toCommSemiring.{u2} S _inst_2) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (ModuleCat.isAddCommGroup.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X')) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X) (ModuleCat.isModule.{u1, u2} S (CommRing.toRing.{u2} S _inst_2) X') (CategoryTheory.Iso.toLinearEquiv.{u2, u1} S (CommRing.toRing.{u2} S _inst_2) X X' i)) f)
+Case conversion may be inaccurate. Consider using '#align Module.iso.conj_eq_conj ModuleCat.Iso.conj_eq_conjₓ'. -/
 theorem Iso.conj_eq_conj (i : X ≅ X') (f : End X) :
     Iso.conj i f = LinearEquiv.conj i.toLinearEquiv f :=
   rfl
Diff
@@ -312,11 +312,11 @@ namespace ModuleCat
 
 instance : Preadditive (ModuleCat.{v} R)
     where
-  add_comp' P Q R f f' g :=
+  add_comp P Q R f f' g :=
     show (f + f') ≫ g = f ≫ g + f' ≫ g by
       ext
       simp
-  comp_add' P Q R f g g' :=
+  comp_add P Q R f g g' :=
     show f ≫ (g + g') = f ≫ g + f ≫ g' by
       ext
       simp

Changes in mathlib4

mathlib3
mathlib4
feat(Algebra/Category/ModuleCat): the category of presheaves of modules has limits (#12264)

Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com> Co-authored-by: Christian Merten <christian@merten.dev>

Diff
@@ -450,4 +450,17 @@ lemma forget₂_map_homMk :
 
 end
 
+instance : (forget (ModuleCat.{v} R)).ReflectsIsomorphisms where
+  reflects f _ :=
+    (inferInstance : IsIso ((LinearEquiv.mk f
+      (asIso ((forget (ModuleCat R)).map f)).toEquiv.invFun
+      (Equiv.left_inv _) (Equiv.right_inv _)).toModuleIso).hom)
+
+instance : (forget₂ (ModuleCat.{v} R) AddCommGroupCat.{v}).ReflectsIsomorphisms where
+  reflects f _ := by
+    have : IsIso ((forget _).map f) := by
+      change IsIso ((forget _).map ((forget₂ _ AddCommGroupCat).map f))
+      infer_instance
+    apply isIso_of_reflects_iso _ (forget _)
+
 end ModuleCat
fix: improve proofs in QuadraticModuleCat.Monoidal (#12233)

These time out on nightly-testing, but are fixed by these changes.

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

Diff
@@ -181,6 +181,8 @@ instance ofUnique {X : Type v} [AddCommGroup X] [Module R X] [i : Unique X] : Un
   i
 #align Module.of_unique ModuleCat.ofUnique
 
+@[simp] theorem of_coe (X : ModuleCat R) : of R X = X := rfl
+
 -- Porting note: the simpNF linter complains, but we really need this?!
 -- @[simp, nolint simpNF]
 theorem coe_of (X : Type v) [AddCommGroup X] [Module R X] : (of R X : Type v) = X :=
doc(Algebra,AlgebraicGeometry): remove mathlib3 names in doc comments (#11955)

Mostly automatic, with a few manual corrections.

Diff
@@ -279,13 +279,13 @@ abbrev LinearEquiv.toModuleIso' {M N : ModuleCat.{v} R} (i : M ≃ₗ[R] N) : M
   i.toModuleIso
 #align linear_equiv.to_Module_iso' LinearEquiv.toModuleIso'
 
-/-- Build an isomorphism in the category `Module R` from a `linear_equiv` between `module`s. -/
+/-- Build an isomorphism in the category `ModuleCat R` from a `LinearEquiv` between `Module`s. -/
 abbrev LinearEquiv.toModuleIso'Left {X₁ : ModuleCat.{v} R} [AddCommGroup X₂] [Module R X₂]
     (e : X₁ ≃ₗ[R] X₂) : X₁ ≅ ModuleCat.of R X₂ :=
   e.toModuleIso
 #align linear_equiv.to_Module_iso'_left LinearEquiv.toModuleIso'Left
 
-/-- Build an isomorphism in the category `Module R` from a `linear_equiv` between `module`s. -/
+/-- Build an isomorphism in the category `ModuleCat R` from a `LinearEquiv` between `Module`s. -/
 abbrev LinearEquiv.toModuleIso'Right [AddCommGroup X₁] [Module R X₁] {X₂ : ModuleCat.{v} R}
     (e : X₁ ≃ₗ[R] X₂) : ModuleCat.of R X₁ ≅ X₂ :=
   e.toModuleIso
@@ -293,15 +293,15 @@ abbrev LinearEquiv.toModuleIso'Right [AddCommGroup X₁] [Module R X₁] {X₂ :
 
 namespace CategoryTheory.Iso
 
-/-- Build a `linear_equiv` from an isomorphism in the category `Module R`. -/
+/-- Build a `LinearEquiv` from an isomorphism in the category `ModuleCat R`. -/
 def toLinearEquiv {X Y : ModuleCat R} (i : X ≅ Y) : X ≃ₗ[R] Y :=
   LinearEquiv.ofLinear i.hom i.inv i.inv_hom_id i.hom_inv_id
 #align category_theory.iso.to_linear_equiv CategoryTheory.Iso.toLinearEquiv
 
 end CategoryTheory.Iso
 
-/-- linear equivalences between `module`s are the same as (isomorphic to) isomorphisms
-in `Module` -/
+/-- linear equivalences between `Module`s are the same as (isomorphic to) isomorphisms
+in `ModuleCat` -/
 @[simps]
 def linearEquivIsoModuleIso {X Y : Type u} [AddCommGroup X] [AddCommGroup Y] [Module R X]
     [Module R Y] : (X ≃ₗ[R] Y) ≅ ModuleCat.of R X ≅ ModuleCat.of R Y where
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
@@ -233,7 +233,6 @@ theorem comp_def (f : M ⟶ N) (g : N ⟶ U) : f ≫ g = g.comp f :=
 end ModuleCat
 
 variable {R}
-
 variable {X₁ X₂ : Type v}
 
 /-- Reinterpreting a linear map in the category of `R`-modules. -/
chore: classify todo porting notes (#11216)

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

Diff
@@ -160,7 +160,7 @@ theorem forget₂_map (X Y : ModuleCat R) (f : X ⟶ Y) :
   rfl
 #align Module.forget₂_map ModuleCat.forget₂_map
 
--- Porting note: TODO: `ofHom` and `asHom` are duplicates!
+-- Porting note (#11215): TODO: `ofHom` and `asHom` are duplicates!
 
 /-- Typecheck a `LinearMap` as a morphism in `Module R`. -/
 def ofHom {R : Type u} [Ring R] {X Y : Type v} [AddCommGroup X] [Module R X] [AddCommGroup Y]
chore: classify added lemma porting notes (#10791)

Classifies by adding number (#10756) to porting notes claiming added lemma.

Diff
@@ -227,7 +227,7 @@ theorem comp_def (f : M ⟶ N) (g : N ⟶ U) : f ≫ g = g.comp f :=
   rfl
 #align Module.comp_def ModuleCat.comp_def
 
--- porting note: added
+-- porting note (#10756): added lemma
 @[simp] lemma forget_map (f : M ⟶ N) : (forget (ModuleCat R)).map f = (f : M → N) := rfl
 
 end ModuleCat
chore: Move LinearMap.ker to a new file (#10233)

This shortens Mathlib.LinearAlgebra.Basic, which is both longer than we like and doesn't have a clear scope.

Diff
@@ -7,6 +7,7 @@ import Mathlib.Algebra.Category.GroupCat.Preadditive
 import Mathlib.CategoryTheory.Conj
 import Mathlib.CategoryTheory.Linear.Basic
 import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor
+import Mathlib.LinearAlgebra.Basic
 
 #align_import algebra.category.Module.basic from "leanprover-community/mathlib"@"829895f162a1f29d0133f4b3538f4cd1fb5bffd3"
 
refactor(Data/FunLike): use unbundled inheritance from FunLike (#8386)

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

Zulip thread

Important changes

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

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

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

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

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

Similarly, MyEquivClass should take EquivLike as a parameter.

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

Remaining issues

Slower (failing) search

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

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

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

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

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

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

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

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

simp not firing sometimes

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

Missing instances due to unification failing

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

Workaround for issues

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

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

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

Diff
@@ -98,6 +98,9 @@ instance moduleCategory : Category.{v, max (v+1) u} (ModuleCat.{v} R) where
   assoc f g h := LinearMap.comp_assoc (f := f) (g := g) (h := h)
 #align Module.Module_category ModuleCat.moduleCategory
 
+instance {M N : ModuleCat.{v} R} : FunLike (M ⟶ N) M N :=
+  LinearMap.instFunLike
+
 instance {M N : ModuleCat.{v} R} : LinearMapClass (M ⟶ N) R M N :=
   LinearMap.semilinearMapClass
 
@@ -406,8 +409,8 @@ lemma mkOfSMul'_smul (r : R) (x : mkOfSMul' φ) :
     r • x = (show A ⟶ A from φ r) x := rfl
 
 instance : Module R (mkOfSMul' φ) where
-  smul_zero _ := map_zero _
-  smul_add _ _ _ := map_add _ _ _
+  smul_zero _ := map_zero (N := A) _
+  smul_add _ _ _ := map_add (N := A) _ _ _
   one_smul := by simp
   mul_smul := by simp
   add_smul _ _ _ := by simp; rfl
@@ -437,7 +440,7 @@ with the scalar multiplication. -/
 @[simps]
 def homMk : M ⟶ N where
   toFun := φ
-  map_add' _ _ := map_add _ _ _
+  map_add' _ _ := φ.map_add _ _
   map_smul' r x := (congr_hom (hφ r) x).symm
 
 lemma forget₂_map_homMk :
chore: golfing in categories of algebraic objects (#10114)

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

Diff
@@ -91,14 +91,13 @@ attribute [coe] ModuleCat.carrier
 
 instance moduleCategory : Category.{v, max (v+1) u} (ModuleCat.{v} R) where
   Hom M N := M →ₗ[R] N
-  id _ := LinearMap.id -- porting note: was `1`
+  id _ := LinearMap.id
   comp f g := g.comp f
   id_comp _ := LinearMap.id_comp _
   comp_id _ := LinearMap.comp_id _
   assoc f g h := LinearMap.comp_assoc (f := f) (g := g) (h := h)
 #align Module.Module_category ModuleCat.moduleCategory
 
--- porting note: was not necessary in mathlib
 instance {M N : ModuleCat.{v} R} : LinearMapClass (M ⟶ N) R M N :=
   LinearMap.semilinearMapClass
 
@@ -120,7 +119,6 @@ instance {M : ModuleCat.{v} R} : AddCommGroup ((forget (ModuleCat R)).obj M) :=
 instance {M : ModuleCat.{v} R} : Module R ((forget (ModuleCat R)).obj M) :=
   (inferInstance : Module R M)
 
--- porting note: added to ease automation
 @[ext]
 lemma ext {M N : ModuleCat.{v} R} {f₁ f₂ : M ⟶ N} (h : ∀ (x : M), f₁ x = f₂ x) : f₁ = f₂ :=
   DFunLike.ext _ _ h
@@ -273,9 +271,6 @@ def LinearEquiv.toModuleIso {g₁ : AddCommGroup X₁} {g₂ : AddCommGroup X₂
   inv_hom_id := by ext; apply e.right_inv
 #align linear_equiv.to_Module_iso LinearEquiv.toModuleIso
 
--- porting note: for the following three definitions, Lean3 is not able to see that
--- `Module.of R M` is defeq to `M` when `M : Module R`. Lean4 is, so that we no longer
--- need different versions of `LinearEquiv.toModuleIso`.
 /-- Build an isomorphism in the category `Module R` from a `LinearEquiv` between `Module`s. -/
 abbrev LinearEquiv.toModuleIso' {M N : ModuleCat.{v} R} (i : M ≃ₗ[R] N) : M ≅ N :=
   i.toModuleIso
@@ -296,20 +291,8 @@ abbrev LinearEquiv.toModuleIso'Right [AddCommGroup X₁] [Module R X₁] {X₂ :
 namespace CategoryTheory.Iso
 
 /-- Build a `linear_equiv` from an isomorphism in the category `Module R`. -/
-@[simps]
-def toLinearEquiv {X Y : ModuleCat R} (i : X ≅ Y) : X ≃ₗ[R] Y where
-  toFun := i.hom
-  invFun := i.inv
-  left_inv x := by
-    -- porting note: was `by tidy`
-    change (i.hom ≫ i.inv) x = x
-    simp
-  right_inv x := by
-    -- porting note: was `by tidy`
-    change (i.inv ≫ i.hom) x = x
-    simp
-  map_add' := by simp
-  map_smul' := by simp
+def toLinearEquiv {X Y : ModuleCat R} (i : X ≅ Y) : X ≃ₗ[R] Y :=
+  LinearEquiv.ofLinear i.hom i.inv i.inv_hom_id i.hom_inv_id
 #align category_theory.iso.to_linear_equiv CategoryTheory.Iso.toLinearEquiv
 
 end CategoryTheory.Iso
@@ -335,9 +318,6 @@ instance : Preadditive (ModuleCat.{v} R) where
     dsimp
     erw [map_add]
     rfl
-  comp_add P Q R f g g' := by
-    ext
-    rfl
 
 instance forget₂_addCommGroupCat_additive : (forget₂ (ModuleCat.{v} R) AddCommGroupCat).Additive
     where
@@ -355,10 +335,6 @@ instance : Linear S (ModuleCat.{v} S) where
     dsimp
     rw [LinearMap.smul_apply, LinearMap.smul_apply, map_smul]
     rfl
-  comp_smul := by
-    intros
-    ext
-    rfl
 
 variable {X Y X' Y' : ModuleCat.{v} S}
 
chore(*): rename FunLike to DFunLike (#9785)

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

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

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

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

Diff
@@ -123,7 +123,7 @@ instance {M : ModuleCat.{v} R} : Module R ((forget (ModuleCat R)).obj M) :=
 -- porting note: added to ease automation
 @[ext]
 lemma ext {M N : ModuleCat.{v} R} {f₁ f₂ : M ⟶ N} (h : ∀ (x : M), f₁ x = f₂ x) : f₁ = f₂ :=
-  FunLike.ext _ _ h
+  DFunLike.ext _ _ h
 
 instance hasForgetToAddCommGroup : HasForget₂ (ModuleCat R) AddCommGroupCat where
   forget₂ :=
refactor: replace some [@foo](https://github.com/foo) _ _ _ _ _ ... by named arguments (#8702)

Using Lean4's named arguments, we manage to remove a few hard-to-read explicit function calls [@foo](https://github.com/foo) _ _ _ _ _ ... which used to be necessary in Lean3.

Occasionally, this results in slightly longer code. The benefit of named arguments is readability, as well as to reduce the brittleness of the code when the argument order is changed.

Co-authored-by: Michael Rothgang <rothgami@math.hu-berlin.de>

Diff
@@ -95,8 +95,7 @@ instance moduleCategory : Category.{v, max (v+1) u} (ModuleCat.{v} R) where
   comp f g := g.comp f
   id_comp _ := LinearMap.id_comp _
   comp_id _ := LinearMap.comp_id _
-  assoc f g h := @LinearMap.comp_assoc _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
-    RingHomCompTriple.ids RingHomCompTriple.ids RingHomCompTriple.ids f g h
+  assoc f g h := LinearMap.comp_assoc (f := f) (g := g) (h := h)
 #align Module.Module_category ModuleCat.moduleCategory
 
 -- porting note: was not necessary in mathlib
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
@@ -4,10 +4,8 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Robert A. Spencer, Markus Himmel
 -/
 import Mathlib.Algebra.Category.GroupCat.Preadditive
-import Mathlib.CategoryTheory.Linear.Basic
-import Mathlib.CategoryTheory.Elementwise
-import Mathlib.LinearAlgebra.Basic
 import Mathlib.CategoryTheory.Conj
+import Mathlib.CategoryTheory.Linear.Basic
 import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor
 
 #align_import algebra.category.Module.basic from "leanprover-community/mathlib"@"829895f162a1f29d0133f4b3538f4cd1fb5bffd3"
Revert "chore: revert #7703 (#7710)"

This reverts commit f3695eb2.

Diff
@@ -445,7 +445,8 @@ instance : Module R (mkOfSMul' φ) where
 given by `R`. -/
 abbrev mkOfSMul := ModuleCat.of R (mkOfSMul' φ)
 
-@[simp]
+-- This lemma has always been bad, but lean4#2644 made `simp` start noticing
+@[simp, nolint simpNF]
 lemma mkOfSMul_smul (r : R) : (mkOfSMul φ).smul r = φ r := rfl
 
 end
chore: revert #7703 (#7710)

This reverts commit 26eb2b0a.

Diff
@@ -445,8 +445,7 @@ instance : Module R (mkOfSMul' φ) where
 given by `R`. -/
 abbrev mkOfSMul := ModuleCat.of R (mkOfSMul' φ)
 
--- This lemma has always been bad, but lean4#2644 made `simp` start noticing
-@[simp, nolint simpNF]
+@[simp]
 lemma mkOfSMul_smul (r : R) : (mkOfSMul φ).smul r = φ r := rfl
 
 end
chore: bump toolchain to v4.2.0-rc2 (#7703)

This includes all the changes from #7606.

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

Diff
@@ -445,7 +445,8 @@ instance : Module R (mkOfSMul' φ) where
 given by `R`. -/
 abbrev mkOfSMul := ModuleCat.of R (mkOfSMul' φ)
 
-@[simp]
+-- This lemma has always been bad, but lean4#2644 made `simp` start noticing
+@[simp, nolint simpNF]
 lemma mkOfSMul_smul (r : R) : (mkOfSMul φ).smul r = φ r := rfl
 
 end
refactor: colimits in ModuleCat (#6925)

This PR refactors the construction of colimits of modules in order to prove that the forgetful functor to abelian groups preserves colimits.

Diff
@@ -79,14 +79,13 @@ structure ModuleCat where
 
 attribute [instance] ModuleCat.isAddCommGroup ModuleCat.isModule
 
-namespace ModuleCat
-
--- Porting note: typemax hack to fix universe complaints
 /-- An alias for `ModuleCat.{max u₁ u₂}`, to deal around unification issues.
 Since the universe the ring lives in can be inferred, we put that last. -/
 @[nolint checkUnivs]
 abbrev ModuleCatMax.{v₁, v₂, u₁} (R : Type u₁) [Ring R] := ModuleCat.{max v₁ v₂, u₁} R
 
+namespace ModuleCat
+
 instance : CoeSort (ModuleCat.{v} R) (Type v) :=
   ⟨ModuleCat.carrier⟩
 
@@ -378,4 +377,98 @@ theorem Iso.conj_eq_conj (i : X ≅ X') (f : End X) :
 
 end
 
+variable (M N : ModuleCat.{v} R)
+
+/-- The scalar multiplication on an object of `ModuleCat R` considered as
+a morphism of rings from `R` to the endomorphisms of the underlying abelian group. -/
+def smul : R →+* End ((forget₂ (ModuleCat R) AddCommGroupCat).obj M) where
+  toFun r :=
+    { toFun := fun (m : M) => r • m
+      map_zero' := by dsimp; rw [smul_zero]
+      map_add' := fun x y => by dsimp; rw [smul_add] }
+  map_one' := AddMonoidHom.ext (fun x => by dsimp; rw [one_smul])
+  map_zero' := AddMonoidHom.ext (fun x => by dsimp; rw [zero_smul])
+  map_mul' r s := AddMonoidHom.ext (fun (x : M) => (smul_smul r s x).symm)
+  map_add' r s := AddMonoidHom.ext (fun (x : M) => add_smul r s x)
+
+lemma smul_naturality {M N : ModuleCat.{v} R} (f : M ⟶ N) (r : R) :
+    (forget₂ (ModuleCat R) AddCommGroupCat).map f ≫ N.smul r =
+      M.smul r ≫ (forget₂ (ModuleCat R) AddCommGroupCat).map f := by
+  ext x
+  exact (f.map_smul r x).symm
+
+variable (R)
+
+/-- The scalar multiplication on `ModuleCat R` considered as a morphism of rings
+to the endomorphisms of the forgetful functor to `AddCommGroupCat)`. -/
+@[simps]
+def smulNatTrans : R →+* End (forget₂ (ModuleCat R) AddCommGroupCat) where
+  toFun r :=
+    { app := fun M => M.smul r
+      naturality := fun _ _ _ => smul_naturality _ r }
+  map_one' := NatTrans.ext _ _ (by aesop_cat)
+  map_zero' := NatTrans.ext _ _ (by aesop_cat)
+  map_mul' _ _ := NatTrans.ext _ _ (by aesop_cat)
+  map_add' _ _ := NatTrans.ext _ _ (by aesop_cat)
+
+variable {R}
+
+/-- Given `A : AddCommGroupCat` and a ring morphism `R →+* End A`, this is a type synonym
+for `A`, on which we shall define a structure of `R`-module. -/
+@[nolint unusedArguments]
+def mkOfSMul' {A : AddCommGroupCat} (_ : R →+* End A) := A
+
+section
+
+variable {A : AddCommGroupCat} (φ : R →+* End A)
+
+instance : AddCommGroup (mkOfSMul' φ) := by
+  dsimp only [mkOfSMul']
+  infer_instance
+
+instance : SMul R (mkOfSMul' φ) := ⟨fun r (x : A) => (show A ⟶ A from φ r) x⟩
+
+@[simp]
+lemma mkOfSMul'_smul (r : R) (x : mkOfSMul' φ) :
+    r • x = (show A ⟶ A from φ r) x := rfl
+
+instance : Module R (mkOfSMul' φ) where
+  smul_zero _ := map_zero _
+  smul_add _ _ _ := map_add _ _ _
+  one_smul := by simp
+  mul_smul := by simp
+  add_smul _ _ _ := by simp; rfl
+  zero_smul := by simp
+
+/-- Given `A : AddCommGroupCat` and a ring morphism `R →+* End A`, this is an object in
+`ModuleCat R`, whose underlying abelian group is `A` and whose scalar multiplication is
+given by `R`. -/
+abbrev mkOfSMul := ModuleCat.of R (mkOfSMul' φ)
+
+@[simp]
+lemma mkOfSMul_smul (r : R) : (mkOfSMul φ).smul r = φ r := rfl
+
+end
+
+section
+
+variable {M N}
+  (φ : (forget₂ (ModuleCat R) AddCommGroupCat).obj M ⟶
+      (forget₂ (ModuleCat R) AddCommGroupCat).obj N)
+  (hφ : ∀ (r : R), φ ≫ N.smul r = M.smul r ≫ φ)
+
+/-- Constructor for morphisms in `ModuleCat R` which takes as inputs
+a morphism between the underlying objects in `AddCommGroupCat` and the compatibility
+with the scalar multiplication. -/
+@[simps]
+def homMk : M ⟶ N where
+  toFun := φ
+  map_add' _ _ := map_add _ _ _
+  map_smul' r x := (congr_hom (hφ r) x).symm
+
+lemma forget₂_map_homMk :
+    (forget₂ (ModuleCat R) AddCommGroupCat).map (homMk φ hφ) = φ := rfl
+
+end
+
 end ModuleCat
fix(Algebra.Category.ModuleCat.Basic): remove CoeOut (Submodule R M) (ModuleCat R) instance (#6032)
Diff
@@ -379,6 +379,3 @@ theorem Iso.conj_eq_conj (i : X ≅ X') (f : End X) :
 end
 
 end ModuleCat
-
-instance (M : Type u) [AddCommGroup M] [Module R M] : CoeOut (Submodule R M) (ModuleCat R) :=
-  ⟨fun N => ModuleCat.of R N⟩
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2019 Robert A. Spencer. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Robert A. Spencer, Markus Himmel
-
-! This file was ported from Lean 3 source module algebra.category.Module.basic
-! leanprover-community/mathlib commit 829895f162a1f29d0133f4b3538f4cd1fb5bffd3
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.Category.GroupCat.Preadditive
 import Mathlib.CategoryTheory.Linear.Basic
@@ -15,6 +10,8 @@ import Mathlib.LinearAlgebra.Basic
 import Mathlib.CategoryTheory.Conj
 import Mathlib.CategoryTheory.Preadditive.AdditiveFunctor
 
+#align_import algebra.category.Module.basic from "leanprover-community/mathlib"@"829895f162a1f29d0133f4b3538f4cd1fb5bffd3"
+
 /-!
 # The category of `R`-modules
 
feat: port Algebra.Category.FGModule.basic (#4878)

Sets new records for set_option maxHeartbeats. :-( I spent too long struggling with this one; if anyone would like to take another look please do.

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

Diff
@@ -55,6 +55,7 @@ form `M = of R M`, then you probably used an incorrect variant of `asHom` or `to
 
 -/
 
+set_option linter.uppercaseLean3 false
 
 open CategoryTheory
 
@@ -77,7 +78,6 @@ structure ModuleCat where
   carrier : Type v
   [isAddCommGroup : AddCommGroup carrier]
   [isModule : Module R carrier]
-set_option linter.uppercaseLean3 false in
 #align Module ModuleCat
 
 attribute [instance] ModuleCat.isAddCommGroup ModuleCat.isModule
@@ -103,12 +103,11 @@ instance moduleCategory : Category.{v, max (v+1) u} (ModuleCat.{v} R) where
   comp_id _ := LinearMap.comp_id _
   assoc f g h := @LinearMap.comp_assoc _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
     RingHomCompTriple.ids RingHomCompTriple.ids RingHomCompTriple.ids f g h
-set_option linter.uppercaseLean3 false in
 #align Module.Module_category ModuleCat.moduleCategory
 
 -- porting note: was not necessary in mathlib
-instance {M N : ModuleCat.{v} R} : FunLike (M ⟶ N) M (fun _ => N) :=
-  ⟨fun f => f.toFun, fun _ _ h => LinearMap.ext (congr_fun h)⟩
+instance {M N : ModuleCat.{v} R} : LinearMapClass (M ⟶ N) R M N :=
+  LinearMap.semilinearMapClass
 
 instance moduleConcreteCategory : ConcreteCategory.{v} (ModuleCat.{v} R) where
   forget :=
@@ -117,14 +116,16 @@ instance moduleConcreteCategory : ConcreteCategory.{v} (ModuleCat.{v} R) where
   forget_faithful := ⟨fun h => LinearMap.ext (fun x => by
     dsimp at h
     rw [h])⟩
-set_option linter.uppercaseLean3 false in
 #align Module.Module_concrete_category ModuleCat.moduleConcreteCategory
 
+-- Porting note:
+-- One might hope these two instances would not be needed,
+-- as we already have `AddCommGroup M` and `Module R M`,
+-- but sometimes we seem to need these when rewriting by lemmas about generic concrete categories.
 instance {M : ModuleCat.{v} R} : AddCommGroup ((forget (ModuleCat R)).obj M) :=
-  (inferInstance : AddCommGroup M.carrier)
-
+  (inferInstance : AddCommGroup M)
 instance {M : ModuleCat.{v} R} : Module R ((forget (ModuleCat R)).obj M) :=
-  (inferInstance : Module R M.carrier)
+  (inferInstance : Module R M)
 
 -- porting note: added to ease automation
 @[ext]
@@ -135,23 +136,17 @@ instance hasForgetToAddCommGroup : HasForget₂ (ModuleCat R) AddCommGroupCat wh
   forget₂ :=
     { obj := fun M => AddCommGroupCat.of M
       map := fun f => AddCommGroupCat.ofHom f.toAddMonoidHom }
-set_option linter.uppercaseLean3 false in
 #align Module.has_forget_to_AddCommGroup ModuleCat.hasForgetToAddCommGroup
 
-instance (M N : ModuleCat R) : LinearMapClass (M ⟶ N) R M N :=
-  { LinearMap.semilinearMapClass with coe := fun f => f }
-
 /-- The object in the category of R-modules associated to an R-module -/
 def of (X : Type v) [AddCommGroup X] [Module R X] : ModuleCat R :=
   ⟨X⟩
-set_option linter.uppercaseLean3 false in
 #align Module.of ModuleCat.of
 
 @[simp]
 theorem forget₂_obj (X : ModuleCat R) :
     (forget₂ (ModuleCat R) AddCommGroupCat).obj X = AddCommGroupCat.of X :=
   rfl
-set_option linter.uppercaseLean3 false in
 #align Module.forget₂_obj ModuleCat.forget₂_obj
 
 -- Porting note: the simpNF linter correctly doesn't like this.
@@ -162,14 +157,12 @@ set_option linter.uppercaseLean3 false in
 theorem forget₂_obj_moduleCat_of (X : Type v) [AddCommGroup X] [Module R X] :
     (forget₂ (ModuleCat R) AddCommGroupCat).obj (of R X) = AddCommGroupCat.of X :=
   rfl
-set_option linter.uppercaseLean3 false in
 #align Module.forget₂_obj_Module_of ModuleCat.forget₂_obj_moduleCat_of
 
 @[simp]
 theorem forget₂_map (X Y : ModuleCat R) (f : X ⟶ Y) :
     (forget₂ (ModuleCat R) AddCommGroupCat).map f = LinearMap.toAddMonoidHom f :=
   rfl
-set_option linter.uppercaseLean3 false in
 #align Module.forget₂_map ModuleCat.forget₂_map
 
 -- Porting note: TODO: `ofHom` and `asHom` are duplicates!
@@ -178,14 +171,12 @@ set_option linter.uppercaseLean3 false in
 def ofHom {R : Type u} [Ring R] {X Y : Type v} [AddCommGroup X] [Module R X] [AddCommGroup Y]
     [Module R Y] (f : X →ₗ[R] Y) : of R X ⟶ of R Y :=
   f
-set_option linter.uppercaseLean3 false in
 #align Module.of_hom ModuleCat.ofHom
 
 @[simp 1100]
 theorem ofHom_apply {R : Type u} [Ring R] {X Y : Type v} [AddCommGroup X] [Module R X]
     [AddCommGroup Y] [Module R Y] (f : X →ₗ[R] Y) (x : X) : ofHom f x = f x :=
   rfl
-set_option linter.uppercaseLean3 false in
 #align Module.of_hom_apply ModuleCat.ofHom_apply
 
 instance : Inhabited (ModuleCat R) :=
@@ -193,13 +184,12 @@ instance : Inhabited (ModuleCat R) :=
 
 instance ofUnique {X : Type v} [AddCommGroup X] [Module R X] [i : Unique X] : Unique (of R X) :=
   i
-set_option linter.uppercaseLean3 false in
 #align Module.of_unique ModuleCat.ofUnique
 
--- porting note: remove simp attribute because it makes the linter complain
+-- Porting note: the simpNF linter complains, but we really need this?!
+-- @[simp, nolint simpNF]
 theorem coe_of (X : Type v) [AddCommGroup X] [Module R X] : (of R X : Type v) = X :=
   rfl
-set_option linter.uppercaseLean3 false in
 #align Module.coe_of ModuleCat.coe_of
 
 variable {R}
@@ -210,7 +200,6 @@ module. -/
 def ofSelfIso (M : ModuleCat R) : ModuleCat.of R M ≅ M where
   hom := 𝟙 M
   inv := 𝟙 M
-set_option linter.uppercaseLean3 false in
 #align Module.of_self_iso ModuleCat.ofSelfIso
 
 theorem isZero_of_subsingleton (M : ModuleCat R) [Subsingleton M] : IsZero M where
@@ -222,7 +211,6 @@ theorem isZero_of_subsingleton (M : ModuleCat R) [Subsingleton M] : IsZero M whe
   unique_from X := ⟨⟨⟨(0 : X →ₗ[R] M)⟩, fun f => by
     ext x
     apply Subsingleton.elim⟩⟩
-set_option linter.uppercaseLean3 false in
 #align Module.is_zero_of_subsingleton ModuleCat.isZero_of_subsingleton
 
 instance : HasZeroObject (ModuleCat.{v} R) :=
@@ -233,18 +221,15 @@ variable {M N U : ModuleCat.{v} R}
 @[simp]
 theorem id_apply (m : M) : (𝟙 M : M → M) m = m :=
   rfl
-set_option linter.uppercaseLean3 false in
 #align Module.id_apply ModuleCat.id_apply
 
 @[simp]
 theorem coe_comp (f : M ⟶ N) (g : N ⟶ U) : (f ≫ g : M → U) = g ∘ f :=
   rfl
-set_option linter.uppercaseLean3 false in
 #align Module.coe_comp ModuleCat.coe_comp
 
 theorem comp_def (f : M ⟶ N) (g : N ⟶ U) : f ≫ g = g.comp f :=
   rfl
-set_option linter.uppercaseLean3 false in
 #align Module.comp_def ModuleCat.comp_def
 
 -- porting note: added
@@ -260,7 +245,6 @@ variable {X₁ X₂ : Type v}
 def ModuleCat.asHom [AddCommGroup X₁] [Module R X₁] [AddCommGroup X₂] [Module R X₂] :
     (X₁ →ₗ[R] X₂) → (ModuleCat.of R X₁ ⟶ ModuleCat.of R X₂) :=
   id
-set_option linter.uppercaseLean3 false in
 #align Module.as_hom ModuleCat.asHom
 
 /-- Reinterpreting a linear map in the category of `R`-modules -/
@@ -270,7 +254,6 @@ scoped[ModuleCat] notation "↟" f:1024 => ModuleCat.asHom f
 def ModuleCat.asHomRight [AddCommGroup X₁] [Module R X₁] {X₂ : ModuleCat.{v} R} :
     (X₁ →ₗ[R] X₂) → (ModuleCat.of R X₁ ⟶ X₂) :=
   id
-set_option linter.uppercaseLean3 false in
 #align Module.as_hom_right ModuleCat.asHomRight
 
 /-- Reinterpreting a linear map in the category of `R`-modules. -/
@@ -280,7 +263,6 @@ scoped[ModuleCat] notation "↾" f:1024 => ModuleCat.asHomRight f
 def ModuleCat.asHomLeft {X₁ : ModuleCat.{v} R} [AddCommGroup X₂] [Module R X₂] :
     (X₁ →ₗ[R] X₂) → (X₁ ⟶ ModuleCat.of R X₂) :=
   id
-set_option linter.uppercaseLean3 false in
 #align Module.as_hom_left ModuleCat.asHomLeft
 
 /-- Reinterpreting a linear map in the category of `R`-modules. -/
@@ -296,7 +278,6 @@ def LinearEquiv.toModuleIso {g₁ : AddCommGroup X₁} {g₂ : AddCommGroup X₂
   inv := (e.symm : X₂ →ₗ[R] X₁)
   hom_inv_id := by ext; apply e.left_inv
   inv_hom_id := by ext; apply e.right_inv
-set_option linter.uppercaseLean3 false in
 #align linear_equiv.to_Module_iso LinearEquiv.toModuleIso
 
 -- porting note: for the following three definitions, Lean3 is not able to see that
@@ -305,21 +286,18 @@ set_option linter.uppercaseLean3 false in
 /-- Build an isomorphism in the category `Module R` from a `LinearEquiv` between `Module`s. -/
 abbrev LinearEquiv.toModuleIso' {M N : ModuleCat.{v} R} (i : M ≃ₗ[R] N) : M ≅ N :=
   i.toModuleIso
-set_option linter.uppercaseLean3 false in
 #align linear_equiv.to_Module_iso' LinearEquiv.toModuleIso'
 
 /-- Build an isomorphism in the category `Module R` from a `linear_equiv` between `module`s. -/
 abbrev LinearEquiv.toModuleIso'Left {X₁ : ModuleCat.{v} R} [AddCommGroup X₂] [Module R X₂]
     (e : X₁ ≃ₗ[R] X₂) : X₁ ≅ ModuleCat.of R X₂ :=
   e.toModuleIso
-set_option linter.uppercaseLean3 false in
 #align linear_equiv.to_Module_iso'_left LinearEquiv.toModuleIso'Left
 
 /-- Build an isomorphism in the category `Module R` from a `linear_equiv` between `module`s. -/
 abbrev LinearEquiv.toModuleIso'Right [AddCommGroup X₁] [Module R X₁] {X₂ : ModuleCat.{v} R}
     (e : X₁ ≃ₗ[R] X₂) : ModuleCat.of R X₁ ≅ X₂ :=
   e.toModuleIso
-set_option linter.uppercaseLean3 false in
 #align linear_equiv.to_Module_iso'_right LinearEquiv.toModuleIso'Right
 
 namespace CategoryTheory.Iso
@@ -350,7 +328,6 @@ def linearEquivIsoModuleIso {X Y : Type u} [AddCommGroup X] [AddCommGroup Y] [Mo
     [Module R Y] : (X ≃ₗ[R] Y) ≅ ModuleCat.of R X ≅ ModuleCat.of R Y where
   hom e := e.toModuleIso
   inv i := i.toLinearEquiv
-set_option linter.uppercaseLean3 false in
 #align linear_equiv_iso_Module_iso linearEquivIsoModuleIso
 
 end
@@ -371,7 +348,6 @@ instance : Preadditive (ModuleCat.{v} R) where
 
 instance forget₂_addCommGroupCat_additive : (forget₂ (ModuleCat.{v} R) AddCommGroupCat).Additive
     where
-set_option linter.uppercaseLean3 false in
 #align Module.forget₂_AddCommGroup_additive ModuleCat.forget₂_addCommGroupCat_additive
 
 section
@@ -396,13 +372,11 @@ variable {X Y X' Y' : ModuleCat.{v} S}
 theorem Iso.homCongr_eq_arrowCongr (i : X ≅ X') (j : Y ≅ Y') (f : X ⟶ Y) :
     Iso.homCongr i j f = LinearEquiv.arrowCongr i.toLinearEquiv j.toLinearEquiv f :=
   rfl
-set_option linter.uppercaseLean3 false in
 #align Module.iso.hom_congr_eq_arrow_congr ModuleCat.Iso.homCongr_eq_arrowCongr
 
 theorem Iso.conj_eq_conj (i : X ≅ X') (f : End X) :
     Iso.conj i f = LinearEquiv.conj i.toLinearEquiv f :=
   rfl
-set_option linter.uppercaseLean3 false in
 #align Module.iso.conj_eq_conj ModuleCat.Iso.conj_eq_conj
 
 end
feat: port Algebra.Category.ModuleCat.Algebra (#4801)
Diff
@@ -379,7 +379,7 @@ section
 variable {S : Type u} [CommRing S]
 
 instance : Linear S (ModuleCat.{v} S) where
-  homModule X Y := LinearMap.instModuleLinearMapAddCommMonoid
+  homModule X Y := LinearMap.module
   smul_comp := by
     intros
     ext
feat: port Algebra.Category.Module.Colimits (#4282)

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

Diff
@@ -84,12 +84,18 @@ attribute [instance] ModuleCat.isAddCommGroup ModuleCat.isModule
 
 namespace ModuleCat
 
+-- Porting note: typemax hack to fix universe complaints
+/-- An alias for `ModuleCat.{max u₁ u₂}`, to deal around unification issues.
+Since the universe the ring lives in can be inferred, we put that last. -/
+@[nolint checkUnivs]
+abbrev ModuleCatMax.{v₁, v₂, u₁} (R : Type u₁) [Ring R] := ModuleCat.{max v₁ v₂, u₁} R
+
 instance : CoeSort (ModuleCat.{v} R) (Type v) :=
   ⟨ModuleCat.carrier⟩
 
 attribute [coe] ModuleCat.carrier
 
-instance moduleCategory : Category (ModuleCat.{v} R) where
+instance moduleCategory : Category.{v, max (v+1) u} (ModuleCat.{v} R) where
   Hom M N := M →ₗ[R] N
   id _ := LinearMap.id -- porting note: was `1`
   comp f g := g.comp f
feat: port Analysis.Quaternion (#4515)

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

Diff
@@ -45,10 +45,10 @@ in the category of `R`-modules, we have to take care not to inadvertently end up
 Similarly, given `f : M ≃ₗ[R] N`, use `toModuleIso`, `toModuleIso'Left`, `toModuleIso'Right`
 or `toModuleIso'`, respectively.
 
-The arrow notations are localized, so you may have to `open_locale Module` to use them. Note that
-the notation for `asHomLeft` clashes with the notation used to promote functions between types to
-morphisms in the category `Type`, so to avoid confusion, it is probably a good idea to avoid having
-the locales `Module` and `CategoryTheory.Type` open at the same time.
+The arrow notations are localized, so you may have to `open ModuleCat` (or `open scoped ModuleCat`)
+to use them. Note that the notation for `asHomLeft` clashes with the notation used to promote
+functions between types to morphisms in the category `Type`, so to avoid confusion, it is probably a
+good idea to avoid having the locales `Module` and `CategoryTheory.Type` open at the same time.
 
 If you get an error when trying to apply a theorem and the `convert` tactic produces goals of the
 form `M = of R M`, then you probably used an incorrect variant of `asHom` or `toModuleIso`.
feat: port Algebra.Category.Module.Limits (#4297)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: int-y1 <jason_yuen2007@hotmail.com> Co-authored-by: Kevin Buzzard <k.buzzard@imperial.ac.uk> Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr> Co-authored-by: Chris Hughes <chrishughes24@gmail.com>

Diff
@@ -114,6 +114,12 @@ instance moduleConcreteCategory : ConcreteCategory.{v} (ModuleCat.{v} R) where
 set_option linter.uppercaseLean3 false in
 #align Module.Module_concrete_category ModuleCat.moduleConcreteCategory
 
+instance {M : ModuleCat.{v} R} : AddCommGroup ((forget (ModuleCat R)).obj M) :=
+  (inferInstance : AddCommGroup M.carrier)
+
+instance {M : ModuleCat.{v} R} : Module R ((forget (ModuleCat R)).obj M) :=
+  (inferInstance : Module R M.carrier)
+
 -- porting note: added to ease automation
 @[ext]
 lemma ext {M N : ModuleCat.{v} R} {f₁ f₂ : M ⟶ N} (h : ∀ (x : M), f₁ x = f₂ x) : f₁ = f₂ :=
@@ -235,6 +241,9 @@ theorem comp_def (f : M ⟶ N) (g : N ⟶ U) : f ≫ g = g.comp f :=
 set_option linter.uppercaseLean3 false in
 #align Module.comp_def ModuleCat.comp_def
 
+-- porting note: added
+@[simp] lemma forget_map (f : M ⟶ N) : (forget (ModuleCat R)).map f = (f : M → N) := rfl
+
 end ModuleCat
 
 variable {R}
feat: port Topology.Algebra.Module.FiniteDimension (#3796)

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

Diff
@@ -127,7 +127,7 @@ set_option linter.uppercaseLean3 false in
 #align Module.has_forget_to_AddCommGroup ModuleCat.hasForgetToAddCommGroup
 
 instance (M N : ModuleCat R) : LinearMapClass (M ⟶ N) R M N :=
-  { LinearMap.instSemilinearMapClassLinearMap with coe := fun f => f }
+  { LinearMap.semilinearMapClass with coe := fun f => f }
 
 /-- The object in the category of R-modules associated to an R-module -/
 def of (X : Type v) [AddCommGroup X] [Module R X] : ModuleCat R :=
chore: refactor of concrete categories (#3900)

I think the ports

didn't quite get things right, and also have some variation between them. This PR tries to straighten things out.

Major changes:

  • Have the coercion to type be via X.\a, and put attribute @[coe] on this.
  • Make sure the coercion from morphisms to functions means that simp lemmas about the underlying bundled morphisms apply directly.
    • This means we drop lemmas like
    lemma Hom.map_mul {X Y : MonCat} (f : X ⟶ Y) (x y : X) : ((forget MonCat).map f) (x * y) = f x * f y
    
    • But at the expense of adding lemmas like
    lemma coe_comp {X Y Z : MonCat} {f : X ⟶ Y} {g : Y ⟶ Z} : (f ≫ g : X → Z) = g ∘ f := rfl
    

Overall I'm pretty happy, and it allows me to unstick the long stuck https://github.com/leanprover-community/mathlib4/pull/3105.

This is not everything I want to do to refactor these files, but once I was satisfied that I can move forward with RingCat, I want to get this merged so we can unblock porting progress. I'll promise to come back to this soon! :-)

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

Diff
@@ -30,6 +30,8 @@ To construct an object in the category of `R`-modules from a type `M` with an in
 
 Similarly, there is a coercion from morphisms in `Module R` to linear maps.
 
+Porting note: the next two paragraphs should be revised.
+
 Unfortunately, Lean is not smart enough to see that, given an object `M : Module R`, the expression
 `of R M`, where we coerce `M` to the carrier type, is definitionally equal to `M` itself.
 This means that to go the other direction, i.e., from linear maps/equivalences to (iso)morphisms
@@ -85,7 +87,7 @@ namespace ModuleCat
 instance : CoeSort (ModuleCat.{v} R) (Type v) :=
   ⟨ModuleCat.carrier⟩
 
-attribute [-instance] Ring.toNonAssocRing
+attribute [coe] ModuleCat.carrier
 
 instance moduleCategory : Category (ModuleCat.{v} R) where
   Hom M N := M →ₗ[R] N
@@ -103,7 +105,7 @@ instance {M N : ModuleCat.{v} R} : FunLike (M ⟶ N) M (fun _ => N) :=
   ⟨fun f => f.toFun, fun _ _ h => LinearMap.ext (congr_fun h)⟩
 
 instance moduleConcreteCategory : ConcreteCategory.{v} (ModuleCat.{v} R) where
-  Forget :=
+  forget :=
     { obj := fun R => R
       map := fun f => f.toFun }
   forget_faithful := ⟨fun h => LinearMap.ext (fun x => by
@@ -114,13 +116,13 @@ set_option linter.uppercaseLean3 false in
 
 -- porting note: added to ease automation
 @[ext]
-lemma hom_ext {M N : ModuleCat.{v} R} (f₁ f₂ : M ⟶ N) (h : ∀ (x : M), f₁ x = f₂ x) : f₁ = f₂ :=
+lemma ext {M N : ModuleCat.{v} R} {f₁ f₂ : M ⟶ N} (h : ∀ (x : M), f₁ x = f₂ x) : f₁ = f₂ :=
   FunLike.ext _ _ h
 
 instance hasForgetToAddCommGroup : HasForget₂ (ModuleCat R) AddCommGroupCat where
   forget₂ :=
     { obj := fun M => AddCommGroupCat.of M
-      map := fun f => LinearMap.toAddMonoidHom f }
+      map := fun f => AddCommGroupCat.ofHom f.toAddMonoidHom }
 set_option linter.uppercaseLean3 false in
 #align Module.has_forget_to_AddCommGroup ModuleCat.hasForgetToAddCommGroup
 
@@ -133,14 +135,18 @@ def of (X : Type v) [AddCommGroup X] [Module R X] : ModuleCat R :=
 set_option linter.uppercaseLean3 false in
 #align Module.of ModuleCat.of
 
--- porting note: remove simp attribute because it makes the linter complain
+@[simp]
 theorem forget₂_obj (X : ModuleCat R) :
     (forget₂ (ModuleCat R) AddCommGroupCat).obj X = AddCommGroupCat.of X :=
   rfl
 set_option linter.uppercaseLean3 false in
 #align Module.forget₂_obj ModuleCat.forget₂_obj
 
-@[simp 900]
+-- Porting note: the simpNF linter correctly doesn't like this.
+-- I'm not sure what this is for, actually.
+-- If it is really needed, better might be a simp lemma that says
+-- `AddCommGroupCat.of (ModuleCat.of R X) = AddCommGroupCat.of X`.
+-- @[simp 900]
 theorem forget₂_obj_moduleCat_of (X : Type v) [AddCommGroup X] [Module R X] :
     (forget₂ (ModuleCat R) AddCommGroupCat).obj (of R X) = AddCommGroupCat.of X :=
   rfl
@@ -154,6 +160,8 @@ theorem forget₂_map (X Y : ModuleCat R) (f : X ⟶ Y) :
 set_option linter.uppercaseLean3 false in
 #align Module.forget₂_map ModuleCat.forget₂_map
 
+-- Porting note: TODO: `ofHom` and `asHom` are duplicates!
+
 /-- Typecheck a `LinearMap` as a morphism in `Module R`. -/
 def ofHom {R : Type u} [Ring R] {X Y : Type v} [AddCommGroup X] [Module R X] [AddCommGroup Y]
     [Module R Y] (f : X →ₗ[R] Y) : of R X ⟶ of R Y :=
@@ -265,8 +273,6 @@ scoped[ModuleCat] notation "↿" f:1024 => ModuleCat.asHomLeft f
 
 section
 
-attribute [-instance] Ring.toNonAssocRing
-
 /-- Build an isomorphism in the category `Module R` from a `LinearEquiv` between `Module`s. -/
 @[simps]
 def LinearEquiv.toModuleIso {g₁ : AddCommGroup X₁} {g₂ : AddCommGroup X₂} {m₁ : Module R X₁}
chore: bump to nightly-2023-04-11 (#3139)
Diff
@@ -388,6 +388,5 @@ end
 
 end ModuleCat
 
-@[nolint dangerousInstance]
-instance (M : Type u) [AddCommGroup M] [Module R M] : Coe (Submodule R M) (ModuleCat R) :=
+instance (M : Type u) [AddCommGroup M] [Module R M] : CoeOut (Submodule R M) (ModuleCat R) :=
   ⟨fun N => ModuleCat.of R N⟩
feat: port Algebra.Category.Module.Basic (#3260)

Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com>

Dependencies 8 + 444

445 files ported (98.2%)
176914 lines ported (98.3%)
Show graph

The unported dependencies are