algebra.category.Module.basic
⟷
Mathlib.Algebra.Category.ModuleCat.Basic
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.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/c471da714c044131b90c133701e51b877c246677
@@ -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 }
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -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}
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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}
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/8d33f09cd7089ecf074b4791907588245aec5d1b
@@ -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 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/c89fe2d59ae06402c3f55f978016d1ada444f57e
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -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 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/2f8347015b12b0864dfaf366ec4909eb70c78740
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/08e1d8d4d989df3a6df86f385e9053ec8a372cc1
@@ -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 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/347636a7a80595d55bedf6e6fbd996a3c39da69a
@@ -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,
mathlib commit https://github.com/leanprover-community/mathlib/commit/c9236f47f5b9df573443aa499c0d3968769628b7
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/21e3562c5e12d846c7def5eff8cdbc520d7d4936
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -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
@@ -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 :=
Mostly automatic, with a few manual corrections.
@@ -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
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)
@@ -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. -/
@@ -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]
@@ -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
This shortens Mathlib.LinearAlgebra.Basic
, which is both longer than we like and doesn't have a clear scope.
@@ -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"
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.
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]
.
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_param
s, [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 sometimesThis 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.
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 outParam
s 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.)
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>
@@ -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 :
@@ -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}
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>
@@ -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₂ :=
[@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>
@@ -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
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>
@@ -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"
@@ -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
@@ -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
@@ -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
This PR refactors the construction of colimits of modules in order to prove that the forgetful functor to abelian groups preserves colimits.
@@ -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
CoeOut (Submodule R M) (ModuleCat R)
instance (#6032)
@@ -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⟩
@@ -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
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>
@@ -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
@@ -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
@@ -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
@@ -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`.
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>
@@ -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}
@@ -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 :=
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:
X.\a
, and put attribute @[coe]
on this.lemma Hom.map_mul {X Y : MonCat} (f : X ⟶ Y) (x y : X) : ((forget MonCat).map f) (x * y) = f x * f y
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>
@@ -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₁}
@@ -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⟩
The unported dependencies are