data.matrix.rankMathlib.Data.Matrix.Rank

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -113,7 +113,7 @@ theorem rank_unit [StrongRankCondition R] [DecidableEq n] (A : (Matrix n n R)ˣ)
   by
   refine' le_antisymm (rank_le_card_width A) _
   have := rank_mul_le_left (A : Matrix n n R) (↑A⁻¹ : Matrix n n R)
-  rwa [← mul_eq_mul, ← Units.val_mul, mul_inv_self, Units.val_one, rank_one] at this 
+  rwa [← mul_eq_mul, ← Units.val_mul, mul_inv_self, Units.val_one, rank_one] at this
 #align matrix.rank_unit Matrix.rank_unit
 -/
 
@@ -166,8 +166,8 @@ theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCom
   apply LinearMap.pi_ext'; rintro i; apply LinearMap.ext_ring
   have aux₁ := to_lin_self (Pi.basisFun R n) (Pi.basisFun R m) A i
   have aux₂ := Basis.equiv_apply (Pi.basisFun R n) i v₂
-  rw [to_lin_eq_to_lin', to_lin'_apply'] at aux₁ 
-  rw [Pi.basisFun_apply, LinearMap.coe_stdBasis] at aux₁ aux₂ 
+  rw [to_lin_eq_to_lin', to_lin'_apply'] at aux₁
+  rw [Pi.basisFun_apply, LinearMap.coe_stdBasis] at aux₁ aux₂
   simp only [LinearMap.comp_apply, e₁, e₂, LinearEquiv.coe_coe, Equiv.refl_apply, aux₁, aux₂,
     LinearMap.coe_single, to_lin_self, map_sum, LinearEquiv.map_smul, Basis.equiv_apply]
 #align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLin
@@ -227,7 +227,7 @@ theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
   · intro h
     replace h := congr_arg (dot_product (star x)) h
     rwa [dot_product_mul_vec, dot_product_zero, vec_mul_conj_transpose, star_star,
-      dot_product_star_self_eq_zero] at h 
+      dot_product_star_self_eq_zero] at h
   · intro h; rw [h, mul_vec_zero]
 #align matrix.ker_mul_vec_lin_conj_transpose_mul_self Matrix.ker_mulVecLin_conjTranspose_mul_self
 -/
@@ -279,7 +279,7 @@ theorem ker_mulVecLin_transpose_mul_self (A : Matrix m n R) :
   constructor
   · intro h
     replace h := congr_arg (dot_product x) h
-    rwa [dot_product_mul_vec, dot_product_zero, vec_mul_transpose, dot_product_self_eq_zero] at h 
+    rwa [dot_product_mul_vec, dot_product_zero, vec_mul_transpose, dot_product_self_eq_zero] at h
   · intro h; rw [h, mul_vec_zero]
 #align matrix.ker_mul_vec_lin_transpose_mul_self Matrix.ker_mulVecLin_transpose_mul_self
 -/
Diff
@@ -87,7 +87,7 @@ theorem rank_le_width [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (F
 theorem rank_mul_le_left [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
     (A ⬝ B).rank ≤ A.rank := by
   rw [rank, rank, mul_vec_lin_mul]
-  exact Cardinal.toNat_le_of_le_of_lt_aleph0 (rank_lt_aleph_0 _ _) (LinearMap.rank_comp_le_left _ _)
+  exact Cardinal.toNat_le_toNat (rank_lt_aleph_0 _ _) (LinearMap.rank_comp_le_left _ _)
 #align matrix.rank_mul_le_left Matrix.rank_mul_le_left
 -/
 
Diff
@@ -169,7 +169,7 @@ theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCom
   rw [to_lin_eq_to_lin', to_lin'_apply'] at aux₁ 
   rw [Pi.basisFun_apply, LinearMap.coe_stdBasis] at aux₁ aux₂ 
   simp only [LinearMap.comp_apply, e₁, e₂, LinearEquiv.coe_coe, Equiv.refl_apply, aux₁, aux₂,
-    LinearMap.coe_single, to_lin_self, LinearEquiv.map_sum, LinearEquiv.map_smul, Basis.equiv_apply]
+    LinearMap.coe_single, to_lin_self, map_sum, LinearEquiv.map_smul, Basis.equiv_apply]
 #align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLin
 -/
 
Diff
@@ -3,11 +3,11 @@ Copyright (c) 2021 Johan Commelin. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin, Eric Wieer
 -/
-import Mathbin.LinearAlgebra.FreeModule.Finite.Rank
-import Mathbin.LinearAlgebra.Matrix.ToLin
-import Mathbin.LinearAlgebra.FiniteDimensional
-import Mathbin.LinearAlgebra.Matrix.DotProduct
-import Mathbin.Data.Complex.Module
+import LinearAlgebra.FreeModule.Finite.Rank
+import LinearAlgebra.Matrix.ToLin
+import LinearAlgebra.FiniteDimensional
+import LinearAlgebra.Matrix.DotProduct
+import Data.Complex.Module
 
 #align_import data.matrix.rank from "leanprover-community/mathlib"@"fe8d0ff42c3c24d789f491dc2622b6cac3d61564"
 
Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2021 Johan Commelin. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin, Eric Wieer
-
-! This file was ported from Lean 3 source module data.matrix.rank
-! leanprover-community/mathlib commit fe8d0ff42c3c24d789f491dc2622b6cac3d61564
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.LinearAlgebra.FreeModule.Finite.Rank
 import Mathbin.LinearAlgebra.Matrix.ToLin
@@ -14,6 +9,8 @@ import Mathbin.LinearAlgebra.FiniteDimensional
 import Mathbin.LinearAlgebra.Matrix.DotProduct
 import Mathbin.Data.Complex.Module
 
+#align_import data.matrix.rank from "leanprover-community/mathlib"@"fe8d0ff42c3c24d789f491dc2622b6cac3d61564"
+
 /-!
 # Rank of matrices
 
Diff
@@ -55,23 +55,29 @@ noncomputable def rank (A : Matrix m n R) : ℕ :=
 #align matrix.rank Matrix.rank
 -/
 
+#print Matrix.rank_one /-
 @[simp]
 theorem rank_one [StrongRankCondition R] [DecidableEq n] :
     rank (1 : Matrix n n R) = Fintype.card n := by
   rw [rank, mul_vec_lin_one, LinearMap.range_id, finrank_top, finrank_pi]
 #align matrix.rank_one Matrix.rank_one
+-/
 
+#print Matrix.rank_zero /-
 @[simp]
 theorem rank_zero [Nontrivial R] : rank (0 : Matrix m n R) = 0 := by
   rw [rank, mul_vec_lin_zero, LinearMap.range_zero, finrank_bot]
 #align matrix.rank_zero Matrix.rank_zero
+-/
 
+#print Matrix.rank_le_card_width /-
 theorem rank_le_card_width [StrongRankCondition R] (A : Matrix m n R) : A.rank ≤ Fintype.card n :=
   by
   haveI : Module.Finite R (n → R) := Module.Finite.pi
   haveI : Module.Free R (n → R) := Module.Free.pi _ _
   exact A.mul_vec_lin.finrank_range_le.trans_eq (finrank_pi _)
 #align matrix.rank_le_card_width Matrix.rank_le_card_width
+-/
 
 #print Matrix.rank_le_width /-
 theorem rank_le_width [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (Fin n) R) :
@@ -80,28 +86,31 @@ theorem rank_le_width [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (F
 #align matrix.rank_le_width Matrix.rank_le_width
 -/
 
+#print Matrix.rank_mul_le_left /-
 theorem rank_mul_le_left [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
     (A ⬝ B).rank ≤ A.rank := by
   rw [rank, rank, mul_vec_lin_mul]
   exact Cardinal.toNat_le_of_le_of_lt_aleph0 (rank_lt_aleph_0 _ _) (LinearMap.rank_comp_le_left _ _)
 #align matrix.rank_mul_le_left Matrix.rank_mul_le_left
+-/
 
-include m_fin
-
+#print Matrix.rank_mul_le_right /-
 theorem rank_mul_le_right [StrongRankCondition R] (A : Matrix l m R) (B : Matrix m n R) :
     (A ⬝ B).rank ≤ B.rank := by
   rw [rank, rank, mul_vec_lin_mul]
   exact
     finrank_le_finrank_of_rank_le_rank (LinearMap.lift_rank_comp_le_right _ _) (rank_lt_aleph_0 _ _)
 #align matrix.rank_mul_le_right Matrix.rank_mul_le_right
+-/
 
-omit m_fin
-
+#print Matrix.rank_mul_le /-
 theorem rank_mul_le [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
     (A ⬝ B).rank ≤ min A.rank B.rank :=
   le_min (rank_mul_le_left _ _) (rank_mul_le_right _ _)
 #align matrix.rank_mul_le Matrix.rank_mul_le
+-/
 
+#print Matrix.rank_unit /-
 theorem rank_unit [StrongRankCondition R] [DecidableEq n] (A : (Matrix n n R)ˣ) :
     (A : Matrix n n R).rank = Fintype.card n :=
   by
@@ -109,11 +118,15 @@ theorem rank_unit [StrongRankCondition R] [DecidableEq n] (A : (Matrix n n R)ˣ)
   have := rank_mul_le_left (A : Matrix n n R) (↑A⁻¹ : Matrix n n R)
   rwa [← mul_eq_mul, ← Units.val_mul, mul_inv_self, Units.val_one, rank_one] at this 
 #align matrix.rank_unit Matrix.rank_unit
+-/
 
+#print Matrix.rank_of_isUnit /-
 theorem rank_of_isUnit [StrongRankCondition R] [DecidableEq n] (A : Matrix n n R) (h : IsUnit A) :
     A.rank = Fintype.card n := by obtain ⟨A, rfl⟩ := h; exact rank_unit A
 #align matrix.rank_of_is_unit Matrix.rank_of_isUnit
+-/
 
+#print Matrix.rank_submatrix_le /-
 /-- Taking a subset of the rows and permuting the columns reduces the rank. -/
 theorem rank_submatrix_le [StrongRankCondition R] [Fintype m] (f : n → m) (e : n ≃ m)
     (A : Matrix m m R) : rank (A.submatrix f e) ≤ rank A :=
@@ -123,21 +136,25 @@ theorem rank_submatrix_le [StrongRankCondition R] [Fintype m] (f : n → m) (e :
     LinearEquiv.range, Submodule.map_top]
   exact Submodule.finrank_map_le _ _
 #align matrix.rank_submatrix_le Matrix.rank_submatrix_le
+-/
 
+#print Matrix.rank_reindex /-
 theorem rank_reindex [Fintype m] (e₁ e₂ : m ≃ n) (A : Matrix m m R) :
     rank (reindex e₁ e₂ A) = rank A := by
   rw [rank, rank, mul_vec_lin_reindex, LinearMap.range_comp, LinearMap.range_comp,
     LinearEquiv.range, Submodule.map_top, LinearEquiv.finrank_map_eq]
 #align matrix.rank_reindex Matrix.rank_reindex
+-/
 
+#print Matrix.rank_submatrix /-
 @[simp]
 theorem rank_submatrix [Fintype m] (A : Matrix m m R) (e₁ e₂ : n ≃ m) :
     rank (A.submatrix e₁ e₂) = rank A := by
   simpa only [reindex_apply] using rank_reindex e₁.symm e₂.symm A
 #align matrix.rank_submatrix Matrix.rank_submatrix
+-/
 
-include m_fin
-
+#print Matrix.rank_eq_finrank_range_toLin /-
 theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCommGroup M₁]
     [AddCommGroup M₂] [Module R M₁] [Module R M₂] (A : Matrix m n R) (v₁ : Basis m R M₁)
     (v₂ : Basis n R M₂) : A.rank = finrank R (toLin v₂ v₁ A).range :=
@@ -157,15 +174,16 @@ theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCom
   simp only [LinearMap.comp_apply, e₁, e₂, LinearEquiv.coe_coe, Equiv.refl_apply, aux₁, aux₂,
     LinearMap.coe_single, to_lin_self, LinearEquiv.map_sum, LinearEquiv.map_smul, Basis.equiv_apply]
 #align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLin
+-/
 
+#print Matrix.rank_le_card_height /-
 theorem rank_le_card_height [StrongRankCondition R] (A : Matrix m n R) : A.rank ≤ Fintype.card m :=
   by
   haveI : Module.Finite R (m → R) := Module.Finite.pi
   haveI : Module.Free R (m → R) := Module.Free.pi _ _
   exact (Submodule.finrank_le _).trans (finrank_pi R).le
 #align matrix.rank_le_card_height Matrix.rank_le_card_height
-
-omit m_fin
+-/
 
 #print Matrix.rank_le_height /-
 theorem rank_le_height [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (Fin n) R) :
@@ -174,10 +192,12 @@ theorem rank_le_height [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (
 #align matrix.rank_le_height Matrix.rank_le_height
 -/
 
+#print Matrix.rank_eq_finrank_span_cols /-
 /-- The rank of a matrix is the rank of the space spanned by its columns. -/
 theorem rank_eq_finrank_span_cols (A : Matrix m n R) :
     A.rank = finrank R (Submodule.span R (Set.range Aᵀ)) := by rw [rank, Matrix.range_mulVecLin]
 #align matrix.rank_eq_finrank_span_cols Matrix.rank_eq_finrank_span_cols
+-/
 
 end CommRing
 
@@ -200,6 +220,7 @@ section StarOrderedField
 
 variable [Fintype m] [Field R] [PartialOrder R] [StarOrderedRing R]
 
+#print Matrix.ker_mulVecLin_conjTranspose_mul_self /-
 theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
     LinearMap.ker (Aᴴ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) :=
   by
@@ -212,7 +233,9 @@ theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
       dot_product_star_self_eq_zero] at h 
   · intro h; rw [h, mul_vec_zero]
 #align matrix.ker_mul_vec_lin_conj_transpose_mul_self Matrix.ker_mulVecLin_conjTranspose_mul_self
+-/
 
+#print Matrix.rank_conjTranspose_mul_self /-
 theorem rank_conjTranspose_mul_self (A : Matrix m n R) : (Aᴴ ⬝ A).rank = A.rank :=
   by
   dsimp only [rank]
@@ -222,7 +245,9 @@ theorem rank_conjTranspose_mul_self (A : Matrix m n R) : (Aᴴ ⬝ A).rank = A.r
   congr 1
   rw [ker_mul_vec_lin_conj_transpose_mul_self]
 #align matrix.rank_conj_transpose_mul_self Matrix.rank_conjTranspose_mul_self
+-/
 
+#print Matrix.rank_conjTranspose /-
 -- this follows the proof here https://math.stackexchange.com/a/81903/1896
 /-- TODO: prove this in greater generality. -/
 @[simp]
@@ -232,12 +257,15 @@ theorem rank_conjTranspose (A : Matrix m n R) : Aᴴ.rank = A.rank :=
       congr_arg _ <| conjTranspose_conjTranspose _)
     ((rank_conjTranspose_mul_self _).symm.trans_le <| rank_mul_le_left _ _)
 #align matrix.rank_conj_transpose Matrix.rank_conjTranspose
+-/
 
+#print Matrix.rank_self_mul_conjTranspose /-
 @[simp]
 theorem rank_self_mul_conjTranspose (A : Matrix m n R) : (A ⬝ Aᴴ).rank = A.rank := by
   simpa only [rank_conj_transpose, conj_transpose_conj_transpose] using
     rank_conj_transpose_mul_self Aᴴ
 #align matrix.rank_self_mul_conj_transpose Matrix.rank_self_mul_conjTranspose
+-/
 
 end StarOrderedField
 
@@ -245,6 +273,7 @@ section LinearOrderedField
 
 variable [Fintype m] [LinearOrderedField R]
 
+#print Matrix.ker_mulVecLin_transpose_mul_self /-
 theorem ker_mulVecLin_transpose_mul_self (A : Matrix m n R) :
     LinearMap.ker (Aᵀ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) :=
   by
@@ -256,7 +285,9 @@ theorem ker_mulVecLin_transpose_mul_self (A : Matrix m n R) :
     rwa [dot_product_mul_vec, dot_product_zero, vec_mul_transpose, dot_product_self_eq_zero] at h 
   · intro h; rw [h, mul_vec_zero]
 #align matrix.ker_mul_vec_lin_transpose_mul_self Matrix.ker_mulVecLin_transpose_mul_self
+-/
 
+#print Matrix.rank_transpose_mul_self /-
 theorem rank_transpose_mul_self (A : Matrix m n R) : (Aᵀ ⬝ A).rank = A.rank :=
   by
   dsimp only [rank]
@@ -266,21 +297,27 @@ theorem rank_transpose_mul_self (A : Matrix m n R) : (Aᵀ ⬝ A).rank = A.rank
   congr 1
   rw [ker_mul_vec_lin_transpose_mul_self]
 #align matrix.rank_transpose_mul_self Matrix.rank_transpose_mul_self
+-/
 
+#print Matrix.rank_transpose /-
 /-- TODO: prove this in greater generality. -/
 @[simp]
 theorem rank_transpose (A : Matrix m n R) : Aᵀ.rank = A.rank :=
   le_antisymm ((rank_transpose_mul_self _).symm.trans_le <| rank_mul_le_left _ _)
     ((rank_transpose_mul_self _).symm.trans_le <| rank_mul_le_left _ _)
 #align matrix.rank_transpose Matrix.rank_transpose
+-/
 
+#print Matrix.rank_self_mul_transpose /-
 @[simp]
 theorem rank_self_mul_transpose (A : Matrix m n R) : (A ⬝ Aᵀ).rank = A.rank := by
   simpa only [rank_transpose, transpose_transpose] using rank_transpose_mul_self Aᵀ
 #align matrix.rank_self_mul_transpose Matrix.rank_self_mul_transpose
+-/
 
 end LinearOrderedField
 
+#print Matrix.rank_eq_finrank_span_row /-
 /-- The rank of a matrix is the rank of the space spanned by its rows.
 
 TODO: prove this in a generality that works for `ℂ` too, not just `ℚ` and `ℝ`. -/
@@ -290,6 +327,7 @@ theorem rank_eq_finrank_span_row [LinearOrderedField R] [Finite m] (A : Matrix m
   cases nonempty_fintype m
   rw [← rank_transpose, rank_eq_finrank_span_cols, transpose_transpose]
 #align matrix.rank_eq_finrank_span_row Matrix.rank_eq_finrank_span_row
+-/
 
 end Matrix
 
Diff
@@ -107,7 +107,7 @@ theorem rank_unit [StrongRankCondition R] [DecidableEq n] (A : (Matrix n n R)ˣ)
   by
   refine' le_antisymm (rank_le_card_width A) _
   have := rank_mul_le_left (A : Matrix n n R) (↑A⁻¹ : Matrix n n R)
-  rwa [← mul_eq_mul, ← Units.val_mul, mul_inv_self, Units.val_one, rank_one] at this
+  rwa [← mul_eq_mul, ← Units.val_mul, mul_inv_self, Units.val_one, rank_one] at this 
 #align matrix.rank_unit Matrix.rank_unit
 
 theorem rank_of_isUnit [StrongRankCondition R] [DecidableEq n] (A : Matrix n n R) (h : IsUnit A) :
@@ -152,8 +152,8 @@ theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCom
   apply LinearMap.pi_ext'; rintro i; apply LinearMap.ext_ring
   have aux₁ := to_lin_self (Pi.basisFun R n) (Pi.basisFun R m) A i
   have aux₂ := Basis.equiv_apply (Pi.basisFun R n) i v₂
-  rw [to_lin_eq_to_lin', to_lin'_apply'] at aux₁
-  rw [Pi.basisFun_apply, LinearMap.coe_stdBasis] at aux₁ aux₂
+  rw [to_lin_eq_to_lin', to_lin'_apply'] at aux₁ 
+  rw [Pi.basisFun_apply, LinearMap.coe_stdBasis] at aux₁ aux₂ 
   simp only [LinearMap.comp_apply, e₁, e₂, LinearEquiv.coe_coe, Equiv.refl_apply, aux₁, aux₂,
     LinearMap.coe_single, to_lin_self, LinearEquiv.map_sum, LinearEquiv.map_smul, Basis.equiv_apply]
 #align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLin
@@ -209,7 +209,7 @@ theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
   · intro h
     replace h := congr_arg (dot_product (star x)) h
     rwa [dot_product_mul_vec, dot_product_zero, vec_mul_conj_transpose, star_star,
-      dot_product_star_self_eq_zero] at h
+      dot_product_star_self_eq_zero] at h 
   · intro h; rw [h, mul_vec_zero]
 #align matrix.ker_mul_vec_lin_conj_transpose_mul_self Matrix.ker_mulVecLin_conjTranspose_mul_self
 
@@ -253,7 +253,7 @@ theorem ker_mulVecLin_transpose_mul_self (A : Matrix m n R) :
   constructor
   · intro h
     replace h := congr_arg (dot_product x) h
-    rwa [dot_product_mul_vec, dot_product_zero, vec_mul_transpose, dot_product_self_eq_zero] at h
+    rwa [dot_product_mul_vec, dot_product_zero, vec_mul_transpose, dot_product_self_eq_zero] at h 
   · intro h; rw [h, mul_vec_zero]
 #align matrix.ker_mul_vec_lin_transpose_mul_self Matrix.ker_mulVecLin_transpose_mul_self
 
Diff
@@ -36,7 +36,7 @@ This definition does not depend on the choice of basis, see `matrix.rank_eq_finr
 -/
 
 
-open Matrix
+open scoped Matrix
 
 namespace Matrix
 
Diff
@@ -55,35 +55,17 @@ noncomputable def rank (A : Matrix m n R) : ℕ :=
 #align matrix.rank Matrix.rank
 -/
 
-/- warning: matrix.rank_one -> Matrix.rank_one is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n], Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} n n R) 1 (OfNat.mk.{max u1 u2} (Matrix.{u1, u1, u2} n n R) 1 (One.one.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.hasOne.{u2, u1} n R (fun (a : n) (b : n) => _inst_5 a b) (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_3)))))))))) (Fintype.card.{u1} n _inst_1)
-but is expected to have type
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n], Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} n n R) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.one.{u2, u1} n R (fun (a : n) (b : n) => _inst_5 a b) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Fintype.card.{u1} n _inst_1)
-Case conversion may be inaccurate. Consider using '#align matrix.rank_one Matrix.rank_oneₓ'. -/
 @[simp]
 theorem rank_one [StrongRankCondition R] [DecidableEq n] :
     rank (1 : Matrix n n R) = Fintype.card n := by
   rw [rank, mul_vec_lin_one, LinearMap.range_id, finrank_top, finrank_pi]
 #align matrix.rank_one Matrix.rank_one
 
-/- warning: matrix.rank_zero -> Matrix.rank_zero is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : Nontrivial.{u3} R], Eq.{1} Nat (Matrix.rank.{u1, u2, u3} m n R _inst_1 _inst_3 (OfNat.ofNat.{max u1 u2 u3} (Matrix.{u1, u2, u3} m n R) 0 (OfNat.mk.{max u1 u2 u3} (Matrix.{u1, u2, u3} m n R) 0 (Zero.zero.{max u1 u2 u3} (Matrix.{u1, u2, u3} m n R) (Matrix.hasZero.{u3, u1, u2} m n R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))))))))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))
-but is expected to have type
-  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : Nontrivial.{u3} R], Eq.{1} Nat (Matrix.rank.{u2, u1, u3} m n R _inst_1 _inst_3 (OfNat.ofNat.{max (max u2 u1) u3} (Matrix.{u2, u1, u3} m n R) 0 (Zero.toOfNat0.{max (max u2 u1) u3} (Matrix.{u2, u1, u3} m n R) (Matrix.zero.{u3, u2, u1} m n R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))))) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))
-Case conversion may be inaccurate. Consider using '#align matrix.rank_zero Matrix.rank_zeroₓ'. -/
 @[simp]
 theorem rank_zero [Nontrivial R] : rank (0 : Matrix m n R) = 0 := by
   rw [rank, mul_vec_lin_zero, LinearMap.range_zero, finrank_bot]
 #align matrix.rank_zero Matrix.rank_zero
 
-/- warning: matrix.rank_le_card_width -> Matrix.rank_le_card_width is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))] (A : Matrix.{u1, u2, u3} m n R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u1, u2, u3} m n R _inst_1 _inst_3 A) (Fintype.card.{u2} n _inst_1)
-but is expected to have type
-  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))] (A : Matrix.{u2, u1, u3} m n R), LE.le.{0} Nat instLENat (Matrix.rank.{u2, u1, u3} m n R _inst_1 _inst_3 A) (Fintype.card.{u1} n _inst_1)
-Case conversion may be inaccurate. Consider using '#align matrix.rank_le_card_width Matrix.rank_le_card_widthₓ'. -/
 theorem rank_le_card_width [StrongRankCondition R] (A : Matrix m n R) : A.rank ≤ Fintype.card n :=
   by
   haveI : Module.Finite R (n → R) := Module.Finite.pi
@@ -98,12 +80,6 @@ theorem rank_le_width [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (F
 #align matrix.rank_le_width Matrix.rank_le_width
 -/
 
-/- warning: matrix.rank_mul_le_left -> Matrix.rank_mul_le_left is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {o : Type.{u3}} {R : Type.{u4}} [_inst_1 : Fintype.{u2} n] [_inst_2 : Fintype.{u3} o] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))] (A : Matrix.{u1, u2, u4} m n R) (B : Matrix.{u2, u3, u4} n o R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u1, u3, u4} m o R _inst_2 _inst_3 (Matrix.mul.{u4, u1, u2, u3} m n o R _inst_1 (Distrib.toHasMul.{u4} R (Ring.toDistrib.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddCommGroup.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toAddCommGroup.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Matrix.rank.{u1, u2, u4} m n R _inst_1 _inst_3 A)
-but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {o : Type.{u1}} {R : Type.{u4}} [_inst_1 : Fintype.{u2} n] [_inst_2 : Fintype.{u1} o] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))] (A : Matrix.{u3, u2, u4} m n R) (B : Matrix.{u2, u1, u4} n o R), LE.le.{0} Nat instLENat (Matrix.rank.{u3, u1, u4} m o R _inst_2 _inst_3 (Matrix.mul.{u4, u3, u2, u1} m n o R _inst_1 (NonUnitalNonAssocRing.toMul.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Matrix.rank.{u3, u2, u4} m n R _inst_1 _inst_3 A)
-Case conversion may be inaccurate. Consider using '#align matrix.rank_mul_le_left Matrix.rank_mul_le_leftₓ'. -/
 theorem rank_mul_le_left [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
     (A ⬝ B).rank ≤ A.rank := by
   rw [rank, rank, mul_vec_lin_mul]
@@ -112,12 +88,6 @@ theorem rank_mul_le_left [StrongRankCondition R] (A : Matrix m n R) (B : Matrix
 
 include m_fin
 
-/- warning: matrix.rank_mul_le_right -> Matrix.rank_mul_le_right is a dubious translation:
-lean 3 declaration is
-  forall {l : Type.{u1}} {m : Type.{u2}} {n : Type.{u3}} {R : Type.{u4}} [m_fin : Fintype.{u2} m] [_inst_1 : Fintype.{u3} n] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))] (A : Matrix.{u1, u2, u4} l m R) (B : Matrix.{u2, u3, u4} m n R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u1, u3, u4} l n R _inst_1 _inst_3 (Matrix.mul.{u4, u1, u2, u3} l m n R m_fin (Distrib.toHasMul.{u4} R (Ring.toDistrib.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddCommGroup.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toAddCommGroup.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Matrix.rank.{u2, u3, u4} m n R _inst_1 _inst_3 B)
-but is expected to have type
-  forall {l : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u4}} [m_fin : Fintype.{u2} m] [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))] (A : Matrix.{u3, u2, u4} l m R) (B : Matrix.{u2, u1, u4} m n R), LE.le.{0} Nat instLENat (Matrix.rank.{u3, u1, u4} l n R _inst_1 _inst_3 (Matrix.mul.{u4, u3, u2, u1} l m n R m_fin (NonUnitalNonAssocRing.toMul.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Matrix.rank.{u2, u1, u4} m n R _inst_1 _inst_3 B)
-Case conversion may be inaccurate. Consider using '#align matrix.rank_mul_le_right Matrix.rank_mul_le_rightₓ'. -/
 theorem rank_mul_le_right [StrongRankCondition R] (A : Matrix l m R) (B : Matrix m n R) :
     (A ⬝ B).rank ≤ B.rank := by
   rw [rank, rank, mul_vec_lin_mul]
@@ -127,23 +97,11 @@ theorem rank_mul_le_right [StrongRankCondition R] (A : Matrix l m R) (B : Matrix
 
 omit m_fin
 
-/- warning: matrix.rank_mul_le -> Matrix.rank_mul_le is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {o : Type.{u3}} {R : Type.{u4}} [_inst_1 : Fintype.{u2} n] [_inst_2 : Fintype.{u3} o] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))] (A : Matrix.{u1, u2, u4} m n R) (B : Matrix.{u2, u3, u4} n o R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u1, u3, u4} m o R _inst_2 _inst_3 (Matrix.mul.{u4, u1, u2, u3} m n o R _inst_1 (Distrib.toHasMul.{u4} R (Ring.toDistrib.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddCommGroup.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toAddCommGroup.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (LinearOrder.min.{0} Nat Nat.linearOrder (Matrix.rank.{u1, u2, u4} m n R _inst_1 _inst_3 A) (Matrix.rank.{u2, u3, u4} n o R _inst_2 _inst_3 B))
-but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {o : Type.{u1}} {R : Type.{u4}} [_inst_1 : Fintype.{u2} n] [_inst_2 : Fintype.{u1} o] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))] (A : Matrix.{u3, u2, u4} m n R) (B : Matrix.{u2, u1, u4} n o R), LE.le.{0} Nat instLENat (Matrix.rank.{u3, u1, u4} m o R _inst_2 _inst_3 (Matrix.mul.{u4, u3, u2, u1} m n o R _inst_1 (NonUnitalNonAssocRing.toMul.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Min.min.{0} Nat instMinNat (Matrix.rank.{u3, u2, u4} m n R _inst_1 _inst_3 A) (Matrix.rank.{u2, u1, u4} n o R _inst_2 _inst_3 B))
-Case conversion may be inaccurate. Consider using '#align matrix.rank_mul_le Matrix.rank_mul_leₓ'. -/
 theorem rank_mul_le [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
     (A ⬝ B).rank ≤ min A.rank B.rank :=
   le_min (rank_mul_le_left _ _) (rank_mul_le_right _ _)
 #align matrix.rank_mul_le Matrix.rank_mul_le
 
-/- warning: matrix.rank_unit -> Matrix.rank_unit is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n] (A : Units.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3)))), Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 ((fun (a : Type.{max u1 u2}) (b : Type.{max u1 u2}) [self : HasLiftT.{succ (max u1 u2), succ (max u1 u2)} a b] => self.0) (Units.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3)))) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Units.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3)))) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Units.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3)))) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Units.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3)))) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3))))))) A)) (Fintype.card.{u1} n _inst_1)
-but is expected to have type
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n] (A : Units.{max u2 u1} (Matrix.{u1, u1, u2} n n R) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.semiring.{u2, u1} n R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 (fun (a : n) (b : n) => _inst_5 a b))))), Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 (Units.val.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.semiring.{u2, u1} n R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 (fun (a : n) (b : n) => _inst_5 a b)))) A)) (Fintype.card.{u1} n _inst_1)
-Case conversion may be inaccurate. Consider using '#align matrix.rank_unit Matrix.rank_unitₓ'. -/
 theorem rank_unit [StrongRankCondition R] [DecidableEq n] (A : (Matrix n n R)ˣ) :
     (A : Matrix n n R).rank = Fintype.card n :=
   by
@@ -152,22 +110,10 @@ theorem rank_unit [StrongRankCondition R] [DecidableEq n] (A : (Matrix n n R)ˣ)
   rwa [← mul_eq_mul, ← Units.val_mul, mul_inv_self, Units.val_one, rank_one] at this
 #align matrix.rank_unit Matrix.rank_unit
 
-/- warning: matrix.rank_of_is_unit -> Matrix.rank_of_isUnit is a dubious translation:
-lean 3 declaration is
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n] (A : Matrix.{u1, u1, u2} n n R), (IsUnit.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3))) A) -> (Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 A) (Fintype.card.{u1} n _inst_1))
-but is expected to have type
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n] (A : Matrix.{u1, u1, u2} n n R), (IsUnit.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.semiring.{u2, u1} n R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 (fun (a : n) (b : n) => _inst_5 a b)))) A) -> (Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 A) (Fintype.card.{u1} n _inst_1))
-Case conversion may be inaccurate. Consider using '#align matrix.rank_of_is_unit Matrix.rank_of_isUnitₓ'. -/
 theorem rank_of_isUnit [StrongRankCondition R] [DecidableEq n] (A : Matrix n n R) (h : IsUnit A) :
     A.rank = Fintype.card n := by obtain ⟨A, rfl⟩ := h; exact rank_unit A
 #align matrix.rank_of_is_unit Matrix.rank_of_isUnit
 
-/- warning: matrix.rank_submatrix_le -> Matrix.rank_submatrix_le is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))] [_inst_5 : Fintype.{u1} m] (f : n -> m) (e : Equiv.{succ u2, succ u1} n m) (A : Matrix.{u1, u1, u3} m m R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u2, u2, u3} n n R _inst_1 _inst_3 (Matrix.submatrix.{u3, u2, u1, u1, u2} n m m n R A f (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} n m) (fun (_x : Equiv.{succ u2, succ u1} n m) => n -> m) (Equiv.hasCoeToFun.{succ u2, succ u1} n m) e))) (Matrix.rank.{u1, u1, u3} m m R _inst_5 _inst_3 A)
-but is expected to have type
-  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))] [_inst_5 : Fintype.{u2} m] (f : n -> m) (e : Equiv.{succ u1, succ u2} n m) (A : Matrix.{u2, u2, u3} m m R), LE.le.{0} Nat instLENat (Matrix.rank.{u1, u1, u3} n n R _inst_1 _inst_3 (Matrix.submatrix.{u3, u1, u2, u2, u1} n m m n R A f (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (Equiv.{succ u1, succ u2} n m) n (fun (_x : n) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : n) => m) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} n m) e))) (Matrix.rank.{u2, u2, u3} m m R _inst_5 _inst_3 A)
-Case conversion may be inaccurate. Consider using '#align matrix.rank_submatrix_le Matrix.rank_submatrix_leₓ'. -/
 /-- Taking a subset of the rows and permuting the columns reduces the rank. -/
 theorem rank_submatrix_le [StrongRankCondition R] [Fintype m] (f : n → m) (e : n ≃ m)
     (A : Matrix m m R) : rank (A.submatrix f e) ≤ rank A :=
@@ -178,24 +124,12 @@ theorem rank_submatrix_le [StrongRankCondition R] [Fintype m] (f : n → m) (e :
   exact Submodule.finrank_map_le _ _
 #align matrix.rank_submatrix_le Matrix.rank_submatrix_le
 
-/- warning: matrix.rank_reindex -> Matrix.rank_reindex is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : Fintype.{u1} m] (e₁ : Equiv.{succ u1, succ u2} m n) (e₂ : Equiv.{succ u1, succ u2} m n) (A : Matrix.{u1, u1, u3} m m R), Eq.{1} Nat (Matrix.rank.{u2, u2, u3} n n R _inst_1 _inst_3 (coeFn.{max 1 (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u2 u3)) (succ (max u1 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (Equiv.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) (fun (_x : Equiv.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (Equiv.hasCoeToFun.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) (Matrix.reindex.{u3, u2, u1, u1, u2} n m m n R e₁ e₂) A)) (Matrix.rank.{u1, u1, u3} m m R _inst_4 _inst_3 A)
-but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u1} R] [_inst_4 : Fintype.{u3} m] (e₁ : Equiv.{succ u3, succ u2} m n) (e₂ : Equiv.{succ u3, succ u2} m n) (A : Matrix.{u3, u3, u1} m m R), Eq.{1} Nat (Matrix.rank.{u2, u2, u1} n n R _inst_1 _inst_3 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u2)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.{u3, u3, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.reindex.{u1, u2, u3, u3, u2} n m m n R e₁ e₂) A)) (Matrix.rank.{u3, u3, u1} m m R _inst_4 _inst_3 A)
-Case conversion may be inaccurate. Consider using '#align matrix.rank_reindex Matrix.rank_reindexₓ'. -/
 theorem rank_reindex [Fintype m] (e₁ e₂ : m ≃ n) (A : Matrix m m R) :
     rank (reindex e₁ e₂ A) = rank A := by
   rw [rank, rank, mul_vec_lin_reindex, LinearMap.range_comp, LinearMap.range_comp,
     LinearEquiv.range, Submodule.map_top, LinearEquiv.finrank_map_eq]
 #align matrix.rank_reindex Matrix.rank_reindex
 
-/- warning: matrix.rank_submatrix -> Matrix.rank_submatrix is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : Fintype.{u1} m] (A : Matrix.{u1, u1, u3} m m R) (e₁ : Equiv.{succ u2, succ u1} n m) (e₂ : Equiv.{succ u2, succ u1} n m), Eq.{1} Nat (Matrix.rank.{u2, u2, u3} n n R _inst_1 _inst_3 (Matrix.submatrix.{u3, u2, u1, u1, u2} n m m n R A (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} n m) (fun (_x : Equiv.{succ u2, succ u1} n m) => n -> m) (Equiv.hasCoeToFun.{succ u2, succ u1} n m) e₁) (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} n m) (fun (_x : Equiv.{succ u2, succ u1} n m) => n -> m) (Equiv.hasCoeToFun.{succ u2, succ u1} n m) e₂))) (Matrix.rank.{u1, u1, u3} m m R _inst_4 _inst_3 A)
-but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : Fintype.{u3} m] (A : Matrix.{u3, u3, u2} m m R) (e₁ : Equiv.{succ u1, succ u3} n m) (e₂ : Equiv.{succ u1, succ u3} n m), Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 (Matrix.submatrix.{u2, u1, u3, u3, u1} n m m n R A (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} n m) n (fun (_x : n) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : n) => m) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u3} n m) e₁) (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} n m) n (fun (_x : n) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : n) => m) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u3} n m) e₂))) (Matrix.rank.{u3, u3, u2} m m R _inst_4 _inst_3 A)
-Case conversion may be inaccurate. Consider using '#align matrix.rank_submatrix Matrix.rank_submatrixₓ'. -/
 @[simp]
 theorem rank_submatrix [Fintype m] (A : Matrix m m R) (e₁ e₂ : n ≃ m) :
     rank (A.submatrix e₁ e₂) = rank A := by
@@ -204,9 +138,6 @@ theorem rank_submatrix [Fintype m] (A : Matrix m m R) (e₁ e₂ : n ≃ m) :
 
 include m_fin
 
-/- warning: matrix.rank_eq_finrank_range_to_lin -> Matrix.rank_eq_finrank_range_toLin is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLinₓ'. -/
 theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCommGroup M₁]
     [AddCommGroup M₂] [Module R M₁] [Module R M₂] (A : Matrix m n R) (v₁ : Basis m R M₁)
     (v₂ : Basis n R M₂) : A.rank = finrank R (toLin v₂ v₁ A).range :=
@@ -227,12 +158,6 @@ theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCom
     LinearMap.coe_single, to_lin_self, LinearEquiv.map_sum, LinearEquiv.map_smul, Basis.equiv_apply]
 #align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLin
 
-/- warning: matrix.rank_le_card_height -> Matrix.rank_le_card_height is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [m_fin : Fintype.{u1} m] [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))] (A : Matrix.{u1, u2, u3} m n R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u1, u2, u3} m n R _inst_1 _inst_3 A) (Fintype.card.{u1} m m_fin)
-but is expected to have type
-  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [m_fin : Fintype.{u2} m] [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))] (A : Matrix.{u2, u1, u3} m n R), LE.le.{0} Nat instLENat (Matrix.rank.{u2, u1, u3} m n R _inst_1 _inst_3 A) (Fintype.card.{u2} m m_fin)
-Case conversion may be inaccurate. Consider using '#align matrix.rank_le_card_height Matrix.rank_le_card_heightₓ'. -/
 theorem rank_le_card_height [StrongRankCondition R] (A : Matrix m n R) : A.rank ≤ Fintype.card m :=
   by
   haveI : Module.Finite R (m → R) := Module.Finite.pi
@@ -249,9 +174,6 @@ theorem rank_le_height [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (
 #align matrix.rank_le_height Matrix.rank_le_height
 -/
 
-/- warning: matrix.rank_eq_finrank_span_cols -> Matrix.rank_eq_finrank_span_cols is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.rank_eq_finrank_span_cols Matrix.rank_eq_finrank_span_colsₓ'. -/
 /-- The rank of a matrix is the rank of the space spanned by its columns. -/
 theorem rank_eq_finrank_span_cols (A : Matrix m n R) :
     A.rank = finrank R (Submodule.span R (Set.range Aᵀ)) := by rw [rank, Matrix.range_mulVecLin]
@@ -278,9 +200,6 @@ section StarOrderedField
 
 variable [Fintype m] [Field R] [PartialOrder R] [StarOrderedRing R]
 
-/- warning: matrix.ker_mul_vec_lin_conj_transpose_mul_self -> Matrix.ker_mulVecLin_conjTranspose_mul_self is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.ker_mul_vec_lin_conj_transpose_mul_self Matrix.ker_mulVecLin_conjTranspose_mul_selfₓ'. -/
 theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
     LinearMap.ker (Aᴴ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) :=
   by
@@ -294,12 +213,6 @@ theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
   · intro h; rw [h, mul_vec_zero]
 #align matrix.ker_mul_vec_lin_conj_transpose_mul_self Matrix.ker_mulVecLin_conjTranspose_mul_self
 
-/- warning: matrix.rank_conj_transpose_mul_self -> Matrix.rank_conjTranspose_mul_self is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : Field.{u3} R] [_inst_5 : PartialOrder.{u3} R] [_inst_6 : StarOrderedRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u2, u2, u3} n n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) (Matrix.mul.{u3, u2, u1, u2} n m n R _inst_3 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StarOrderedRing.orderedAddCommGroup.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u3, u1, u2} m n R (InvolutiveStar.toHasStar.{u3} R (StarAddMonoid.toHasInvolutiveStar.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))))))) (StarRing.toStarAddMonoid.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) (StarOrderedRing.toStarRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5 _inst_6)))) A) A)) (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) A)
-but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u2, u2, u1} n n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarAddMonoid.toInvolutiveStar.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (Ring.toAddGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (StarRing.toStarAddMonoid.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A) A)) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) A)
-Case conversion may be inaccurate. Consider using '#align matrix.rank_conj_transpose_mul_self Matrix.rank_conjTranspose_mul_selfₓ'. -/
 theorem rank_conjTranspose_mul_self (A : Matrix m n R) : (Aᴴ ⬝ A).rank = A.rank :=
   by
   dsimp only [rank]
@@ -310,12 +223,6 @@ theorem rank_conjTranspose_mul_self (A : Matrix m n R) : (Aᴴ ⬝ A).rank = A.r
   rw [ker_mul_vec_lin_conj_transpose_mul_self]
 #align matrix.rank_conj_transpose_mul_self Matrix.rank_conjTranspose_mul_self
 
-/- warning: matrix.rank_conj_transpose -> Matrix.rank_conjTranspose is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : Field.{u3} R] [_inst_5 : PartialOrder.{u3} R] [_inst_6 : StarOrderedRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u2, u1, u3} n m R _inst_3 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) (Matrix.conjTranspose.{u3, u1, u2} m n R (InvolutiveStar.toHasStar.{u3} R (StarAddMonoid.toHasInvolutiveStar.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))))))) (StarRing.toStarAddMonoid.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) (StarOrderedRing.toStarRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5 _inst_6)))) A)) (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) A)
-but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u2, u3, u1} n m R _inst_3 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarAddMonoid.toInvolutiveStar.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (Ring.toAddGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (StarRing.toStarAddMonoid.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A)) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) A)
-Case conversion may be inaccurate. Consider using '#align matrix.rank_conj_transpose Matrix.rank_conjTransposeₓ'. -/
 -- this follows the proof here https://math.stackexchange.com/a/81903/1896
 /-- TODO: prove this in greater generality. -/
 @[simp]
@@ -326,12 +233,6 @@ theorem rank_conjTranspose (A : Matrix m n R) : Aᴴ.rank = A.rank :=
     ((rank_conjTranspose_mul_self _).symm.trans_le <| rank_mul_le_left _ _)
 #align matrix.rank_conj_transpose Matrix.rank_conjTranspose
 
-/- warning: matrix.rank_self_mul_conj_transpose -> Matrix.rank_self_mul_conjTranspose is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : Field.{u3} R] [_inst_5 : PartialOrder.{u3} R] [_inst_6 : StarOrderedRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u1, u1, u3} m m R _inst_3 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) (Matrix.mul.{u3, u1, u2, u1} m n m R _inst_1 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StarOrderedRing.orderedAddCommGroup.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))) _inst_5 _inst_6))) A (Matrix.conjTranspose.{u3, u1, u2} m n R (InvolutiveStar.toHasStar.{u3} R (StarAddMonoid.toHasInvolutiveStar.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))))))) (StarRing.toStarAddMonoid.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) (StarOrderedRing.toStarRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5 _inst_6)))) A))) (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) A)
-but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u3, u3, u1} m m R _inst_3 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) (Matrix.mul.{u1, u3, u2, u3} m n m R _inst_1 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) A (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarAddMonoid.toInvolutiveStar.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (Ring.toAddGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (StarRing.toStarAddMonoid.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A))) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) A)
-Case conversion may be inaccurate. Consider using '#align matrix.rank_self_mul_conj_transpose Matrix.rank_self_mul_conjTransposeₓ'. -/
 @[simp]
 theorem rank_self_mul_conjTranspose (A : Matrix m n R) : (A ⬝ Aᴴ).rank = A.rank := by
   simpa only [rank_conj_transpose, conj_transpose_conj_transpose] using
@@ -344,9 +245,6 @@ section LinearOrderedField
 
 variable [Fintype m] [LinearOrderedField R]
 
-/- warning: matrix.ker_mul_vec_lin_transpose_mul_self -> Matrix.ker_mulVecLin_transpose_mul_self is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.ker_mul_vec_lin_transpose_mul_self Matrix.ker_mulVecLin_transpose_mul_selfₓ'. -/
 theorem ker_mulVecLin_transpose_mul_self (A : Matrix m n R) :
     LinearMap.ker (Aᵀ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) :=
   by
@@ -359,12 +257,6 @@ theorem ker_mulVecLin_transpose_mul_self (A : Matrix m n R) :
   · intro h; rw [h, mul_vec_zero]
 #align matrix.ker_mul_vec_lin_transpose_mul_self Matrix.ker_mulVecLin_transpose_mul_self
 
-/- warning: matrix.rank_transpose_mul_self -> Matrix.rank_transpose_mul_self is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : LinearOrderedField.{u3} R] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u2, u2, u3} n n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))) (Matrix.mul.{u3, u2, u1, u2} n m n R _inst_3 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_4)))))) (Matrix.transpose.{u3, u1, u2} m n R A) A)) (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))) A)
-but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : LinearOrderedField.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u2, u2, u1} n n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R (LinearOrderedField.toField.{u1} R _inst_4))) (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_4))))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))) (Matrix.transpose.{u1, u3, u2} m n R A) A)) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R (LinearOrderedField.toField.{u1} R _inst_4))) A)
-Case conversion may be inaccurate. Consider using '#align matrix.rank_transpose_mul_self Matrix.rank_transpose_mul_selfₓ'. -/
 theorem rank_transpose_mul_self (A : Matrix m n R) : (Aᵀ ⬝ A).rank = A.rank :=
   by
   dsimp only [rank]
@@ -375,12 +267,6 @@ theorem rank_transpose_mul_self (A : Matrix m n R) : (Aᵀ ⬝ A).rank = A.rank
   rw [ker_mul_vec_lin_transpose_mul_self]
 #align matrix.rank_transpose_mul_self Matrix.rank_transpose_mul_self
 
-/- warning: matrix.rank_transpose -> Matrix.rank_transpose is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : LinearOrderedField.{u3} R] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u2, u1, u3} n m R _inst_3 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))) (Matrix.transpose.{u3, u1, u2} m n R A)) (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))) A)
-but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : LinearOrderedField.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u2, u3, u1} n m R _inst_3 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R (LinearOrderedField.toField.{u1} R _inst_4))) (Matrix.transpose.{u1, u3, u2} m n R A)) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R (LinearOrderedField.toField.{u1} R _inst_4))) A)
-Case conversion may be inaccurate. Consider using '#align matrix.rank_transpose Matrix.rank_transposeₓ'. -/
 /-- TODO: prove this in greater generality. -/
 @[simp]
 theorem rank_transpose (A : Matrix m n R) : Aᵀ.rank = A.rank :=
@@ -388,12 +274,6 @@ theorem rank_transpose (A : Matrix m n R) : Aᵀ.rank = A.rank :=
     ((rank_transpose_mul_self _).symm.trans_le <| rank_mul_le_left _ _)
 #align matrix.rank_transpose Matrix.rank_transpose
 
-/- warning: matrix.rank_self_mul_transpose -> Matrix.rank_self_mul_transpose is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : LinearOrderedField.{u3} R] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u1, u1, u3} m m R _inst_3 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))) (Matrix.mul.{u3, u1, u2, u1} m n m R _inst_1 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_4)))))) A (Matrix.transpose.{u3, u1, u2} m n R A))) (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))) A)
-but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : LinearOrderedField.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u3, u3, u1} m m R _inst_3 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R (LinearOrderedField.toField.{u1} R _inst_4))) (Matrix.mul.{u1, u3, u2, u3} m n m R _inst_1 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_4))))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))) A (Matrix.transpose.{u1, u3, u2} m n R A))) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R (LinearOrderedField.toField.{u1} R _inst_4))) A)
-Case conversion may be inaccurate. Consider using '#align matrix.rank_self_mul_transpose Matrix.rank_self_mul_transposeₓ'. -/
 @[simp]
 theorem rank_self_mul_transpose (A : Matrix m n R) : (A ⬝ Aᵀ).rank = A.rank := by
   simpa only [rank_transpose, transpose_transpose] using rank_transpose_mul_self Aᵀ
@@ -401,9 +281,6 @@ theorem rank_self_mul_transpose (A : Matrix m n R) : (A ⬝ Aᵀ).rank = A.rank
 
 end LinearOrderedField
 
-/- warning: matrix.rank_eq_finrank_span_row -> Matrix.rank_eq_finrank_span_row is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.rank_eq_finrank_span_row Matrix.rank_eq_finrank_span_rowₓ'. -/
 /-- The rank of a matrix is the rank of the space spanned by its rows.
 
 TODO: prove this in a generality that works for `ℂ` too, not just `ℚ` and `ℝ`. -/
Diff
@@ -159,9 +159,7 @@ but is expected to have type
   forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n] (A : Matrix.{u1, u1, u2} n n R), (IsUnit.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.semiring.{u2, u1} n R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 (fun (a : n) (b : n) => _inst_5 a b)))) A) -> (Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 A) (Fintype.card.{u1} n _inst_1))
 Case conversion may be inaccurate. Consider using '#align matrix.rank_of_is_unit Matrix.rank_of_isUnitₓ'. -/
 theorem rank_of_isUnit [StrongRankCondition R] [DecidableEq n] (A : Matrix n n R) (h : IsUnit A) :
-    A.rank = Fintype.card n := by
-  obtain ⟨A, rfl⟩ := h
-  exact rank_unit A
+    A.rank = Fintype.card n := by obtain ⟨A, rfl⟩ := h; exact rank_unit A
 #align matrix.rank_of_is_unit Matrix.rank_of_isUnit
 
 /- warning: matrix.rank_submatrix_le -> Matrix.rank_submatrix_le is a dubious translation:
@@ -215,16 +213,12 @@ theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCom
   by
   let e₁ := (Pi.basisFun R m).Equiv v₁ (Equiv.refl _)
   let e₂ := (Pi.basisFun R n).Equiv v₂ (Equiv.refl _)
-  have range_e₂ : (e₂ : (n → R) →ₗ[R] M₂).range = ⊤ :=
-    by
-    rw [LinearMap.range_eq_top]
+  have range_e₂ : (e₂ : (n → R) →ₗ[R] M₂).range = ⊤ := by rw [LinearMap.range_eq_top];
     exact e₂.surjective
   refine' LinearEquiv.finrank_eq (e₁.of_submodules _ _ _)
   rw [← LinearMap.range_comp, ← LinearMap.range_comp_of_range_eq_top (to_lin v₂ v₁ A) range_e₂]
   congr 1
-  apply LinearMap.pi_ext'
-  rintro i
-  apply LinearMap.ext_ring
+  apply LinearMap.pi_ext'; rintro i; apply LinearMap.ext_ring
   have aux₁ := to_lin_self (Pi.basisFun R n) (Pi.basisFun R m) A i
   have aux₂ := Basis.equiv_apply (Pi.basisFun R n) i v₂
   rw [to_lin_eq_to_lin', to_lin'_apply'] at aux₁
@@ -297,8 +291,7 @@ theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
     replace h := congr_arg (dot_product (star x)) h
     rwa [dot_product_mul_vec, dot_product_zero, vec_mul_conj_transpose, star_star,
       dot_product_star_self_eq_zero] at h
-  · intro h
-    rw [h, mul_vec_zero]
+  · intro h; rw [h, mul_vec_zero]
 #align matrix.ker_mul_vec_lin_conj_transpose_mul_self Matrix.ker_mulVecLin_conjTranspose_mul_self
 
 /- warning: matrix.rank_conj_transpose_mul_self -> Matrix.rank_conjTranspose_mul_self is a dubious translation:
@@ -363,8 +356,7 @@ theorem ker_mulVecLin_transpose_mul_self (A : Matrix m n R) :
   · intro h
     replace h := congr_arg (dot_product x) h
     rwa [dot_product_mul_vec, dot_product_zero, vec_mul_transpose, dot_product_self_eq_zero] at h
-  · intro h
-    rw [h, mul_vec_zero]
+  · intro h; rw [h, mul_vec_zero]
 #align matrix.ker_mul_vec_lin_transpose_mul_self Matrix.ker_mulVecLin_transpose_mul_self
 
 /- warning: matrix.rank_transpose_mul_self -> Matrix.rank_transpose_mul_self is a dubious translation:
Diff
@@ -207,10 +207,7 @@ theorem rank_submatrix [Fintype m] (A : Matrix m m R) (e₁ e₂ : n ≃ m) :
 include m_fin
 
 /- warning: matrix.rank_eq_finrank_range_to_lin -> Matrix.rank_eq_finrank_range_toLin is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [m_fin : Fintype.{u1} m] [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : DecidableEq.{succ u2} n] {M₁ : Type.{u4}} {M₂ : Type.{u5}} [_inst_5 : AddCommGroup.{u4} M₁] [_inst_6 : AddCommGroup.{u5} M₂] [_inst_7 : Module.{u3, u4} R M₁ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5)] [_inst_8 : Module.{u3, u5} R M₂ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6)] (A : Matrix.{u1, u2, u3} m n R) (v₁ : Basis.{u1, u3, u4} m R M₁ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (v₂ : Basis.{u2, u3, u5} n R M₂ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) _inst_8), Eq.{1} Nat (Matrix.rank.{u1, u2, u3} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u3, u4} R (coeSort.{succ u4, succ (succ u4)} (Submodule.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) Type.{u4} (SetLike.hasCoeToSort.{u4, u4} (Submodule.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) M₁ (Submodule.setLike.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (LinearMap.range.{u3, u3, u5, u4, max u5 u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.semilinearMapClass.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (RingHomSurjective.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max u5 u4)), max (succ (max u1 u2 u3)) (succ (max u5 u4))} (LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) (fun (_x : LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) => (Matrix.{u1, u2, u3} m n R) -> (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u2 u3, max u5 u4} R R (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (Matrix.toLin.{u3, u1, u2, u5, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Submodule.addCommGroup.{u3, u4} R M₁ (CommRing.toRing.{u3} R _inst_3) _inst_5 _inst_7 (LinearMap.range.{u3, u3, u5, u4, max u5 u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.semilinearMapClass.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (RingHomSurjective.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max u5 u4)), max (succ (max u1 u2 u3)) (succ (max u5 u4))} (LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) (fun (_x : LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) => (Matrix.{u1, u2, u3} m n R) -> (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u2 u3, max u5 u4} R R (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (Matrix.toLin.{u3, u1, u2, u5, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Submodule.module.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7 (LinearMap.range.{u3, u3, u5, u4, max u5 u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.semilinearMapClass.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (RingHomSurjective.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max u5 u4)), max (succ (max u1 u2 u3)) (succ (max u5 u4))} (LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) (fun (_x : LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) => (Matrix.{u1, u2, u3} m n R) -> (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u2 u3, max u5 u4} R R (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (Matrix.toLin.{u3, u1, u2, u5, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))))
-but is expected to have type
-  forall {m : Type.{u1}} {n : Type.{u5}} {R : Type.{u2}} [m_fin : Fintype.{u1} m] [_inst_1 : Fintype.{u5} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : DecidableEq.{succ u5} n] {M₁ : Type.{u4}} {M₂ : Type.{u3}} [_inst_5 : AddCommGroup.{u4} M₁] [_inst_6 : AddCommGroup.{u3} M₂] [_inst_7 : Module.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5)] [_inst_8 : Module.{u2, u3} R M₂ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6)] (A : Matrix.{u1, u5, u2} m n R) (v₁ : Basis.{u1, u2, u4} m R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (v₂ : Basis.{u5, u2, u3} n R M₂ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) _inst_8), Eq.{1} Nat (Matrix.rank.{u1, u5, u2} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u2, u4} R (Subtype.{succ u4} M₁ (fun (x : M₁) => Membership.mem.{u4, u4} M₁ (Submodule.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (SetLike.instMembership.{u4, u4} (Submodule.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) M₁ (Submodule.setLike.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) x (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.semilinearMapClass.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (a : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) a) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Submodule.addCommGroup.{u2, u4} R M₁ (CommRing.toRing.{u2} R _inst_3) _inst_5 _inst_7 (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.semilinearMapClass.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (_x : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) _x) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Submodule.module.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7 (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.semilinearMapClass.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (_x : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) _x) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLinₓ'. -/
 theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCommGroup M₁]
     [AddCommGroup M₂] [Module R M₁] [Module R M₂] (A : Matrix m n R) (v₁ : Basis m R M₁)
@@ -259,10 +256,7 @@ theorem rank_le_height [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (
 -/
 
 /- warning: matrix.rank_eq_finrank_span_cols -> Matrix.rank_eq_finrank_span_cols is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u1, u2, u3} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u3, max u1 u3} R (coeSort.{succ (max u1 u3), succ (succ (max u1 u3))} (Submodule.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))))) Type.{max u1 u3} (SetLike.hasCoeToSort.{max u1 u3, max u1 u3} (Submodule.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (m -> R) (Submodule.setLike.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Submodule.span.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Set.range.{max u1 u3, succ u2} (m -> R) n (Matrix.transpose.{u3, u1, u2} m n R A)))) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Submodule.addCommGroup.{u3, max u1 u3} R (m -> R) (CommRing.toRing.{u3} R _inst_3) (Pi.addCommGroup.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Submodule.span.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Set.range.{max u1 u3, succ u2} (m -> R) n (Matrix.transpose.{u3, u1, u2} m n R A)))) (Submodule.module.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Submodule.span.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Set.range.{max u1 u3, succ u2} (m -> R) n (Matrix.transpose.{u3, u1, u2} m n R A)))))
-but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u3, u2, u1} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u1, max u3 u1} R (Subtype.{succ (max u3 u1)} (m -> R) (fun (x : m -> R) => Membership.mem.{max u3 u1, max u3 u1} (m -> R) (Submodule.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (SetLike.instMembership.{max u3 u1, max u3 u1} (Submodule.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (m -> R) (Submodule.setLike.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))))) x (Submodule.span.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Submodule.addCommGroup.{u1, max u3 u1} R (m -> R) (CommRing.toRing.{u1} R _inst_3) (Pi.addCommGroup.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Submodule.span.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A)))) (Submodule.module.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Submodule.span.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.rank_eq_finrank_span_cols Matrix.rank_eq_finrank_span_colsₓ'. -/
 /-- The rank of a matrix is the rank of the space spanned by its columns. -/
 theorem rank_eq_finrank_span_cols (A : Matrix m n R) :
@@ -291,10 +285,7 @@ section StarOrderedField
 variable [Fintype m] [Field R] [PartialOrder R] [StarOrderedRing R]
 
 /- warning: matrix.ker_mul_vec_lin_conj_transpose_mul_self -> Matrix.ker_mulVecLin_conjTranspose_mul_self is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : Field.{u3} R] [_inst_5 : PartialOrder.{u3} R] [_inst_6 : StarOrderedRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5] (A : Matrix.{u1, u2, u3} m n R), Eq.{succ (max u2 u3)} (Submodule.{u3, max u2 u3} R (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.ker.{u3, u3, max u2 u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (LinearMap.{u3, u3, max u2 u3, max u2 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Matrix.mulVecLin.{u3, u2, u2} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)) n n _inst_1 (Matrix.mul.{u3, u2, u1, u2} n m n R _inst_3 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StarOrderedRing.orderedAddCommGroup.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u3, u1, u2} m n R (InvolutiveStar.toHasStar.{u3} R (StarAddMonoid.toHasInvolutiveStar.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))))))) (StarRing.toStarAddMonoid.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) (StarOrderedRing.toStarRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5 _inst_6)))) A) A))) (LinearMap.ker.{u3, u3, max u2 u3, max u1 u3, max (max u2 u3) u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (LinearMap.{u3, u3, max u2 u3, max u1 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Matrix.mulVecLin.{u3, u1, u2} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)) m n _inst_1 A))
-but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u2 u1} R (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.ker.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.semilinearMapClass.{u1, u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u2, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) n n _inst_1 (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarAddMonoid.toInvolutiveStar.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (Ring.toAddGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (StarRing.toStarAddMonoid.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A) A))) (LinearMap.ker.{u1, u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u3} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.semilinearMapClass.{u1, u1, max u2 u1, max u3 u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u3, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) m n _inst_1 A))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.ker_mul_vec_lin_conj_transpose_mul_self Matrix.ker_mulVecLin_conjTranspose_mul_selfₓ'. -/
 theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
     LinearMap.ker (Aᴴ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) :=
@@ -361,10 +352,7 @@ section LinearOrderedField
 variable [Fintype m] [LinearOrderedField R]
 
 /- warning: matrix.ker_mul_vec_lin_transpose_mul_self -> Matrix.ker_mulVecLin_transpose_mul_self is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : LinearOrderedField.{u3} R] (A : Matrix.{u1, u2, u3} m n R), Eq.{succ (max u2 u3)} (Submodule.{u3, max u2 u3} R (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (LinearMap.ker.{u3, u3, max u2 u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (LinearMap.{u3, u3, max u2 u3, max u2 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Matrix.mulVecLin.{u3, u2, u2} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))) n n _inst_1 (Matrix.mul.{u3, u2, u1, u2} n m n R _inst_3 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_4)))))) (Matrix.transpose.{u3, u1, u2} m n R A) A))) (LinearMap.ker.{u3, u3, max u2 u3, max u1 u3, max (max u2 u3) u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (LinearMap.{u3, u3, max u2 u3, max u1 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Matrix.mulVecLin.{u3, u1, u2} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))) m n _inst_1 A))
-but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : LinearOrderedField.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u2 u1} R (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.ker.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.semilinearMapClass.{u1, u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (Matrix.mulVecLin.{u1, u2, u2} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))) n n _inst_1 (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_4))))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))) (Matrix.transpose.{u1, u3, u2} m n R A) A))) (LinearMap.ker.{u1, u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (LinearMap.{u1, u1, max u1 u2, max u1 u3} R R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.semilinearMapClass.{u1, u1, max u2 u1, max u3 u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (Matrix.mulVecLin.{u1, u3, u2} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))) m n _inst_1 A))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.ker_mul_vec_lin_transpose_mul_self Matrix.ker_mulVecLin_transpose_mul_selfₓ'. -/
 theorem ker_mulVecLin_transpose_mul_self (A : Matrix m n R) :
     LinearMap.ker (Aᵀ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) :=
@@ -422,10 +410,7 @@ theorem rank_self_mul_transpose (A : Matrix m n R) : (A ⬝ Aᵀ).rank = A.rank
 end LinearOrderedField
 
 /- warning: matrix.rank_eq_finrank_span_row -> Matrix.rank_eq_finrank_span_row is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : LinearOrderedField.{u3} R] [_inst_4 : Finite.{succ u1} m] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R (LinearOrderedField.toField.{u3} R _inst_3))) A) (FiniteDimensional.finrank.{u3, max u2 u3} R (coeSort.{succ (max u2 u3), succ (succ (max u2 u3))} (Submodule.{u3, max u2 u3} R (n -> R) (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3))))))) (Pi.Function.module.{u2, u3, u3} n R R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3))))))) Type.{max u2 u3} (SetLike.hasCoeToSort.{max u2 u3, max u2 u3} (Submodule.{u3, max u2 u3} R (n -> R) (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3))))))) (Pi.Function.module.{u2, u3, u3} n R R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3))))))) (n -> R) (Submodule.setLike.{u3, max u2 u3} R (n -> R) (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3))))))) (Pi.Function.module.{u2, u3, u3} n R R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))))))) (Submodule.span.{u3, max u2 u3} R (n -> R) (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3))))))) (Pi.Function.module.{u2, u3, u3} n R R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))))) (Set.range.{max u2 u3, succ u1} (n -> R) m A))) (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (Submodule.addCommGroup.{u3, max u2 u3} R (n -> R) (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3))) (Pi.addCommGroup.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Pi.Function.module.{u2, u3, u3} n R R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))))) (Submodule.span.{u3, max u2 u3} R (n -> R) (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3))))))) (Pi.Function.module.{u2, u3, u3} n R R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))))) (Set.range.{max u2 u3, succ u1} (n -> R) m A))) (Submodule.module.{u3, max u2 u3} R (n -> R) (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3))))))) (Pi.Function.module.{u2, u3, u3} n R R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))))) (Submodule.span.{u3, max u2 u3} R (n -> R) (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3))))))) (Pi.Function.module.{u2, u3, u3} n R R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))))) (Set.range.{max u2 u3, succ u1} (n -> R) m A))))
-but is expected to have type
-  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [_inst_1 : Fintype.{u1} n] [_inst_3 : LinearOrderedField.{u3} R] [_inst_4 : Finite.{succ u2} m] (A : Matrix.{u2, u1, u3} m n R), Eq.{1} Nat (Matrix.rank.{u2, u1, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R (LinearOrderedField.toField.{u3} R _inst_3))) A) (FiniteDimensional.finrank.{u3, max u1 u3} R (Subtype.{succ (max u1 u3)} (n -> R) (fun (x : n -> R) => Membership.mem.{max u1 u3, max u1 u3} (n -> R) (Submodule.{u3, max u1 u3} R (n -> R) (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (Pi.addCommMonoid.{u1, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Pi.module.{u1, u3, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))) (fun (i : n) => Semiring.toModule.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))))) (SetLike.instMembership.{max u1 u3, max u1 u3} (Submodule.{u3, max u1 u3} R (n -> R) (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (Pi.addCommMonoid.{u1, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Pi.module.{u1, u3, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))) (fun (i : n) => Semiring.toModule.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))))) (n -> R) (Submodule.setLike.{u3, max u1 u3} R (n -> R) (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (Pi.addCommMonoid.{u1, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Pi.module.{u1, u3, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))) (fun (i : n) => Semiring.toModule.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))))) x (Submodule.span.{u3, max u1 u3} R (n -> R) (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (Pi.addCommMonoid.{u1, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Pi.module.{u1, u3, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))) (fun (i : n) => Semiring.toModule.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Set.range.{max u1 u3, succ u2} (n -> R) m A)))) (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (Submodule.addCommGroup.{u3, max u1 u3} R (n -> R) (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))) (Pi.addCommGroup.{u1, u3} n (fun (ᾰ : n) => R) (fun (i : n) => OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Pi.module.{u1, u3, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))) (fun (i : n) => Semiring.toModule.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Submodule.span.{u3, max u1 u3} R (n -> R) (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (Pi.addCommMonoid.{u1, u3} n (fun (ᾰ : n) => R) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Pi.module.{u1, u3, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))) (fun (i : n) => Semiring.toModule.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Set.range.{max u1 u3, succ u2} (n -> R) m A))) (Submodule.module.{u3, max u1 u3} R (n -> R) (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (Pi.addCommMonoid.{u1, u3} n (fun (ᾰ : n) => R) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Pi.module.{u1, u3, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))) (fun (i : n) => Semiring.toModule.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Submodule.span.{u3, max u1 u3} R (n -> R) (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (Pi.addCommMonoid.{u1, u3} n (fun (ᾰ : n) => R) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Pi.module.{u1, u3, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))) (fun (i : n) => Semiring.toModule.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Set.range.{max u1 u3, succ u2} (n -> R) m A))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.rank_eq_finrank_span_row Matrix.rank_eq_finrank_span_rowₓ'. -/
 /-- The rank of a matrix is the rank of the space spanned by its rows.
 
Diff
@@ -210,7 +210,7 @@ include m_fin
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [m_fin : Fintype.{u1} m] [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : DecidableEq.{succ u2} n] {M₁ : Type.{u4}} {M₂ : Type.{u5}} [_inst_5 : AddCommGroup.{u4} M₁] [_inst_6 : AddCommGroup.{u5} M₂] [_inst_7 : Module.{u3, u4} R M₁ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5)] [_inst_8 : Module.{u3, u5} R M₂ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6)] (A : Matrix.{u1, u2, u3} m n R) (v₁ : Basis.{u1, u3, u4} m R M₁ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (v₂ : Basis.{u2, u3, u5} n R M₂ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) _inst_8), Eq.{1} Nat (Matrix.rank.{u1, u2, u3} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u3, u4} R (coeSort.{succ u4, succ (succ u4)} (Submodule.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) Type.{u4} (SetLike.hasCoeToSort.{u4, u4} (Submodule.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) M₁ (Submodule.setLike.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (LinearMap.range.{u3, u3, u5, u4, max u5 u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.semilinearMapClass.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (RingHomSurjective.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max u5 u4)), max (succ (max u1 u2 u3)) (succ (max u5 u4))} (LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) (fun (_x : LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) => (Matrix.{u1, u2, u3} m n R) -> (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u2 u3, max u5 u4} R R (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (Matrix.toLin.{u3, u1, u2, u5, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Submodule.addCommGroup.{u3, u4} R M₁ (CommRing.toRing.{u3} R _inst_3) _inst_5 _inst_7 (LinearMap.range.{u3, u3, u5, u4, max u5 u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.semilinearMapClass.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (RingHomSurjective.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max u5 u4)), max (succ (max u1 u2 u3)) (succ (max u5 u4))} (LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) (fun (_x : LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) => (Matrix.{u1, u2, u3} m n R) -> (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u2 u3, max u5 u4} R R (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (Matrix.toLin.{u3, u1, u2, u5, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Submodule.module.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7 (LinearMap.range.{u3, u3, u5, u4, max u5 u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.semilinearMapClass.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (RingHomSurjective.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max u5 u4)), max (succ (max u1 u2 u3)) (succ (max u5 u4))} (LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) (fun (_x : LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) => (Matrix.{u1, u2, u3} m n R) -> (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u2 u3, max u5 u4} R R (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (Matrix.toLin.{u3, u1, u2, u5, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))))
 but is expected to have type
-  forall {m : Type.{u1}} {n : Type.{u5}} {R : Type.{u2}} [m_fin : Fintype.{u1} m] [_inst_1 : Fintype.{u5} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : DecidableEq.{succ u5} n] {M₁ : Type.{u4}} {M₂ : Type.{u3}} [_inst_5 : AddCommGroup.{u4} M₁] [_inst_6 : AddCommGroup.{u3} M₂] [_inst_7 : Module.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5)] [_inst_8 : Module.{u2, u3} R M₂ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6)] (A : Matrix.{u1, u5, u2} m n R) (v₁ : Basis.{u1, u2, u4} m R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (v₂ : Basis.{u5, u2, u3} n R M₂ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) _inst_8), Eq.{1} Nat (Matrix.rank.{u1, u5, u2} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u2, u4} R (Subtype.{succ u4} M₁ (fun (x : M₁) => Membership.mem.{u4, u4} M₁ (Submodule.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (SetLike.instMembership.{u4, u4} (Submodule.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) M₁ (Submodule.setLike.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) x (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.semilinearMapClass.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (a : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) a) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Submodule.addCommGroup.{u2, u4} R M₁ (CommRing.toRing.{u2} R _inst_3) _inst_5 _inst_7 (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.semilinearMapClass.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (_x : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) _x) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Submodule.module.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7 (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.semilinearMapClass.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (_x : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) _x) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))))
+  forall {m : Type.{u1}} {n : Type.{u5}} {R : Type.{u2}} [m_fin : Fintype.{u1} m] [_inst_1 : Fintype.{u5} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : DecidableEq.{succ u5} n] {M₁ : Type.{u4}} {M₂ : Type.{u3}} [_inst_5 : AddCommGroup.{u4} M₁] [_inst_6 : AddCommGroup.{u3} M₂] [_inst_7 : Module.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5)] [_inst_8 : Module.{u2, u3} R M₂ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6)] (A : Matrix.{u1, u5, u2} m n R) (v₁ : Basis.{u1, u2, u4} m R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (v₂ : Basis.{u5, u2, u3} n R M₂ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) _inst_8), Eq.{1} Nat (Matrix.rank.{u1, u5, u2} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u2, u4} R (Subtype.{succ u4} M₁ (fun (x : M₁) => Membership.mem.{u4, u4} M₁ (Submodule.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (SetLike.instMembership.{u4, u4} (Submodule.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) M₁ (Submodule.setLike.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) x (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.semilinearMapClass.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (a : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) a) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Submodule.addCommGroup.{u2, u4} R M₁ (CommRing.toRing.{u2} R _inst_3) _inst_5 _inst_7 (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.semilinearMapClass.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (_x : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) _x) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Submodule.module.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7 (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.semilinearMapClass.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (_x : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) _x) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))))
 Case conversion may be inaccurate. Consider using '#align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLinₓ'. -/
 theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCommGroup M₁]
     [AddCommGroup M₂] [Module R M₁] [Module R M₂] (A : Matrix m n R) (v₁ : Basis m R M₁)
Diff
@@ -168,7 +168,7 @@ theorem rank_of_isUnit [StrongRankCondition R] [DecidableEq n] (A : Matrix n n R
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))] [_inst_5 : Fintype.{u1} m] (f : n -> m) (e : Equiv.{succ u2, succ u1} n m) (A : Matrix.{u1, u1, u3} m m R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u2, u2, u3} n n R _inst_1 _inst_3 (Matrix.submatrix.{u3, u2, u1, u1, u2} n m m n R A f (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} n m) (fun (_x : Equiv.{succ u2, succ u1} n m) => n -> m) (Equiv.hasCoeToFun.{succ u2, succ u1} n m) e))) (Matrix.rank.{u1, u1, u3} m m R _inst_5 _inst_3 A)
 but is expected to have type
-  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))] [_inst_5 : Fintype.{u2} m] (f : n -> m) (e : Equiv.{succ u1, succ u2} n m) (A : Matrix.{u2, u2, u3} m m R), LE.le.{0} Nat instLENat (Matrix.rank.{u1, u1, u3} n n R _inst_1 _inst_3 (Matrix.submatrix.{u3, u1, u2, u2, u1} n m m n R A f (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (Equiv.{succ u1, succ u2} n m) n (fun (_x : n) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : n) => m) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} n m) e))) (Matrix.rank.{u2, u2, u3} m m R _inst_5 _inst_3 A)
+  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))] [_inst_5 : Fintype.{u2} m] (f : n -> m) (e : Equiv.{succ u1, succ u2} n m) (A : Matrix.{u2, u2, u3} m m R), LE.le.{0} Nat instLENat (Matrix.rank.{u1, u1, u3} n n R _inst_1 _inst_3 (Matrix.submatrix.{u3, u1, u2, u2, u1} n m m n R A f (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (Equiv.{succ u1, succ u2} n m) n (fun (_x : n) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : n) => m) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} n m) e))) (Matrix.rank.{u2, u2, u3} m m R _inst_5 _inst_3 A)
 Case conversion may be inaccurate. Consider using '#align matrix.rank_submatrix_le Matrix.rank_submatrix_leₓ'. -/
 /-- Taking a subset of the rows and permuting the columns reduces the rank. -/
 theorem rank_submatrix_le [StrongRankCondition R] [Fintype m] (f : n → m) (e : n ≃ m)
@@ -184,7 +184,7 @@ theorem rank_submatrix_le [StrongRankCondition R] [Fintype m] (f : n → m) (e :
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : Fintype.{u1} m] (e₁ : Equiv.{succ u1, succ u2} m n) (e₂ : Equiv.{succ u1, succ u2} m n) (A : Matrix.{u1, u1, u3} m m R), Eq.{1} Nat (Matrix.rank.{u2, u2, u3} n n R _inst_1 _inst_3 (coeFn.{max 1 (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u2 u3)) (succ (max u1 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (Equiv.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) (fun (_x : Equiv.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (Equiv.hasCoeToFun.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) (Matrix.reindex.{u3, u2, u1, u1, u2} n m m n R e₁ e₂) A)) (Matrix.rank.{u1, u1, u3} m m R _inst_4 _inst_3 A)
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u1} R] [_inst_4 : Fintype.{u3} m] (e₁ : Equiv.{succ u3, succ u2} m n) (e₂ : Equiv.{succ u3, succ u2} m n) (A : Matrix.{u3, u3, u1} m m R), Eq.{1} Nat (Matrix.rank.{u2, u2, u1} n n R _inst_1 _inst_3 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u2)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.{u3, u3, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.reindex.{u1, u2, u3, u3, u2} n m m n R e₁ e₂) A)) (Matrix.rank.{u3, u3, u1} m m R _inst_4 _inst_3 A)
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u1} R] [_inst_4 : Fintype.{u3} m] (e₁ : Equiv.{succ u3, succ u2} m n) (e₂ : Equiv.{succ u3, succ u2} m n) (A : Matrix.{u3, u3, u1} m m R), Eq.{1} Nat (Matrix.rank.{u2, u2, u1} n n R _inst_1 _inst_3 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u2)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.{u3, u3, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.reindex.{u1, u2, u3, u3, u2} n m m n R e₁ e₂) A)) (Matrix.rank.{u3, u3, u1} m m R _inst_4 _inst_3 A)
 Case conversion may be inaccurate. Consider using '#align matrix.rank_reindex Matrix.rank_reindexₓ'. -/
 theorem rank_reindex [Fintype m] (e₁ e₂ : m ≃ n) (A : Matrix m m R) :
     rank (reindex e₁ e₂ A) = rank A := by
@@ -196,7 +196,7 @@ theorem rank_reindex [Fintype m] (e₁ e₂ : m ≃ n) (A : Matrix m m R) :
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : Fintype.{u1} m] (A : Matrix.{u1, u1, u3} m m R) (e₁ : Equiv.{succ u2, succ u1} n m) (e₂ : Equiv.{succ u2, succ u1} n m), Eq.{1} Nat (Matrix.rank.{u2, u2, u3} n n R _inst_1 _inst_3 (Matrix.submatrix.{u3, u2, u1, u1, u2} n m m n R A (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} n m) (fun (_x : Equiv.{succ u2, succ u1} n m) => n -> m) (Equiv.hasCoeToFun.{succ u2, succ u1} n m) e₁) (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} n m) (fun (_x : Equiv.{succ u2, succ u1} n m) => n -> m) (Equiv.hasCoeToFun.{succ u2, succ u1} n m) e₂))) (Matrix.rank.{u1, u1, u3} m m R _inst_4 _inst_3 A)
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : Fintype.{u3} m] (A : Matrix.{u3, u3, u2} m m R) (e₁ : Equiv.{succ u1, succ u3} n m) (e₂ : Equiv.{succ u1, succ u3} n m), Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 (Matrix.submatrix.{u2, u1, u3, u3, u1} n m m n R A (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} n m) n (fun (_x : n) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : n) => m) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u3} n m) e₁) (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} n m) n (fun (_x : n) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : n) => m) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u3} n m) e₂))) (Matrix.rank.{u3, u3, u2} m m R _inst_4 _inst_3 A)
+  forall {m : Type.{u3}} {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : Fintype.{u3} m] (A : Matrix.{u3, u3, u2} m m R) (e₁ : Equiv.{succ u1, succ u3} n m) (e₂ : Equiv.{succ u1, succ u3} n m), Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 (Matrix.submatrix.{u2, u1, u3, u3, u1} n m m n R A (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} n m) n (fun (_x : n) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : n) => m) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u3} n m) e₁) (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} n m) n (fun (_x : n) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : n) => m) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u3} n m) e₂))) (Matrix.rank.{u3, u3, u2} m m R _inst_4 _inst_3 A)
 Case conversion may be inaccurate. Consider using '#align matrix.rank_submatrix Matrix.rank_submatrixₓ'. -/
 @[simp]
 theorem rank_submatrix [Fintype m] (A : Matrix m m R) (e₁ e₂ : n ≃ m) :
Diff
@@ -210,7 +210,7 @@ include m_fin
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [m_fin : Fintype.{u1} m] [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : DecidableEq.{succ u2} n] {M₁ : Type.{u4}} {M₂ : Type.{u5}} [_inst_5 : AddCommGroup.{u4} M₁] [_inst_6 : AddCommGroup.{u5} M₂] [_inst_7 : Module.{u3, u4} R M₁ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5)] [_inst_8 : Module.{u3, u5} R M₂ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6)] (A : Matrix.{u1, u2, u3} m n R) (v₁ : Basis.{u1, u3, u4} m R M₁ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (v₂ : Basis.{u2, u3, u5} n R M₂ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) _inst_8), Eq.{1} Nat (Matrix.rank.{u1, u2, u3} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u3, u4} R (coeSort.{succ u4, succ (succ u4)} (Submodule.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) Type.{u4} (SetLike.hasCoeToSort.{u4, u4} (Submodule.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) M₁ (Submodule.setLike.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (LinearMap.range.{u3, u3, u5, u4, max u5 u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.semilinearMapClass.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (RingHomSurjective.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max u5 u4)), max (succ (max u1 u2 u3)) (succ (max u5 u4))} (LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) (fun (_x : LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) => (Matrix.{u1, u2, u3} m n R) -> (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u2 u3, max u5 u4} R R (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (Matrix.toLin.{u3, u1, u2, u5, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Submodule.addCommGroup.{u3, u4} R M₁ (CommRing.toRing.{u3} R _inst_3) _inst_5 _inst_7 (LinearMap.range.{u3, u3, u5, u4, max u5 u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.semilinearMapClass.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (RingHomSurjective.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max u5 u4)), max (succ (max u1 u2 u3)) (succ (max u5 u4))} (LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) (fun (_x : LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) => (Matrix.{u1, u2, u3} m n R) -> (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u2 u3, max u5 u4} R R (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (Matrix.toLin.{u3, u1, u2, u5, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Submodule.module.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7 (LinearMap.range.{u3, u3, u5, u4, max u5 u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.semilinearMapClass.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (RingHomSurjective.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max u5 u4)), max (succ (max u1 u2 u3)) (succ (max u5 u4))} (LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) (fun (_x : LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) => (Matrix.{u1, u2, u3} m n R) -> (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u2 u3, max u5 u4} R R (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (Matrix.toLin.{u3, u1, u2, u5, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))))
 but is expected to have type
-  forall {m : Type.{u1}} {n : Type.{u5}} {R : Type.{u2}} [m_fin : Fintype.{u1} m] [_inst_1 : Fintype.{u5} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : DecidableEq.{succ u5} n] {M₁ : Type.{u4}} {M₂ : Type.{u3}} [_inst_5 : AddCommGroup.{u4} M₁] [_inst_6 : AddCommGroup.{u3} M₂] [_inst_7 : Module.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5)] [_inst_8 : Module.{u2, u3} R M₂ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6)] (A : Matrix.{u1, u5, u2} m n R) (v₁ : Basis.{u1, u2, u4} m R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (v₂ : Basis.{u5, u2, u3} n R M₂ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) _inst_8), Eq.{1} Nat (Matrix.rank.{u1, u5, u2} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u2, u4} R (Subtype.{succ u4} M₁ (fun (x : M₁) => Membership.mem.{u4, u4} M₁ (Submodule.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (SetLike.instMembership.{u4, u4} (Submodule.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) M₁ (Submodule.setLike.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) x (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (a : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) a) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Submodule.addCommGroup.{u2, u4} R M₁ (CommRing.toRing.{u2} R _inst_3) _inst_5 _inst_7 (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (_x : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) _x) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Submodule.module.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7 (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (_x : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) _x) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))))
+  forall {m : Type.{u1}} {n : Type.{u5}} {R : Type.{u2}} [m_fin : Fintype.{u1} m] [_inst_1 : Fintype.{u5} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : DecidableEq.{succ u5} n] {M₁ : Type.{u4}} {M₂ : Type.{u3}} [_inst_5 : AddCommGroup.{u4} M₁] [_inst_6 : AddCommGroup.{u3} M₂] [_inst_7 : Module.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5)] [_inst_8 : Module.{u2, u3} R M₂ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6)] (A : Matrix.{u1, u5, u2} m n R) (v₁ : Basis.{u1, u2, u4} m R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (v₂ : Basis.{u5, u2, u3} n R M₂ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) _inst_8), Eq.{1} Nat (Matrix.rank.{u1, u5, u2} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u2, u4} R (Subtype.{succ u4} M₁ (fun (x : M₁) => Membership.mem.{u4, u4} M₁ (Submodule.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (SetLike.instMembership.{u4, u4} (Submodule.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) M₁ (Submodule.setLike.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) x (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.semilinearMapClass.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (a : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) a) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Submodule.addCommGroup.{u2, u4} R M₁ (CommRing.toRing.{u2} R _inst_3) _inst_5 _inst_7 (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.semilinearMapClass.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (_x : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) _x) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Submodule.module.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7 (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.semilinearMapClass.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (_x : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) _x) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))))
 Case conversion may be inaccurate. Consider using '#align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLinₓ'. -/
 theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCommGroup M₁]
     [AddCommGroup M₂] [Module R M₁] [Module R M₂] (A : Matrix m n R) (v₁ : Basis m R M₁)
@@ -294,7 +294,7 @@ variable [Fintype m] [Field R] [PartialOrder R] [StarOrderedRing R]
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : Field.{u3} R] [_inst_5 : PartialOrder.{u3} R] [_inst_6 : StarOrderedRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5] (A : Matrix.{u1, u2, u3} m n R), Eq.{succ (max u2 u3)} (Submodule.{u3, max u2 u3} R (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.ker.{u3, u3, max u2 u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (LinearMap.{u3, u3, max u2 u3, max u2 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Matrix.mulVecLin.{u3, u2, u2} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)) n n _inst_1 (Matrix.mul.{u3, u2, u1, u2} n m n R _inst_3 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StarOrderedRing.orderedAddCommGroup.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u3, u1, u2} m n R (InvolutiveStar.toHasStar.{u3} R (StarAddMonoid.toHasInvolutiveStar.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))))))) (StarRing.toStarAddMonoid.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) (StarOrderedRing.toStarRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5 _inst_6)))) A) A))) (LinearMap.ker.{u3, u3, max u2 u3, max u1 u3, max (max u2 u3) u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (LinearMap.{u3, u3, max u2 u3, max u1 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Matrix.mulVecLin.{u3, u1, u2} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)) m n _inst_1 A))
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u2 u1} R (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.ker.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u2, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) n n _inst_1 (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarAddMonoid.toInvolutiveStar.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (Ring.toAddGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (StarRing.toStarAddMonoid.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A) A))) (LinearMap.ker.{u1, u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u3} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u3 u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u3, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) m n _inst_1 A))
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u2 u1} R (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.ker.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.semilinearMapClass.{u1, u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u2, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) n n _inst_1 (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarAddMonoid.toInvolutiveStar.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (Ring.toAddGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (StarRing.toStarAddMonoid.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A) A))) (LinearMap.ker.{u1, u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u3} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.semilinearMapClass.{u1, u1, max u2 u1, max u3 u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u3, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) m n _inst_1 A))
 Case conversion may be inaccurate. Consider using '#align matrix.ker_mul_vec_lin_conj_transpose_mul_self Matrix.ker_mulVecLin_conjTranspose_mul_selfₓ'. -/
 theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
     LinearMap.ker (Aᴴ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) :=
@@ -364,7 +364,7 @@ variable [Fintype m] [LinearOrderedField R]
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : LinearOrderedField.{u3} R] (A : Matrix.{u1, u2, u3} m n R), Eq.{succ (max u2 u3)} (Submodule.{u3, max u2 u3} R (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (LinearMap.ker.{u3, u3, max u2 u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (LinearMap.{u3, u3, max u2 u3, max u2 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Matrix.mulVecLin.{u3, u2, u2} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))) n n _inst_1 (Matrix.mul.{u3, u2, u1, u2} n m n R _inst_3 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_4)))))) (Matrix.transpose.{u3, u1, u2} m n R A) A))) (LinearMap.ker.{u3, u3, max u2 u3, max u1 u3, max (max u2 u3) u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (LinearMap.{u3, u3, max u2 u3, max u1 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Matrix.mulVecLin.{u3, u1, u2} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))) m n _inst_1 A))
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : LinearOrderedField.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u2 u1} R (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.ker.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (Matrix.mulVecLin.{u1, u2, u2} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))) n n _inst_1 (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_4))))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))) (Matrix.transpose.{u1, u3, u2} m n R A) A))) (LinearMap.ker.{u1, u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (LinearMap.{u1, u1, max u1 u2, max u1 u3} R R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u3 u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (Matrix.mulVecLin.{u1, u3, u2} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))) m n _inst_1 A))
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : LinearOrderedField.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u2 u1} R (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.ker.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.semilinearMapClass.{u1, u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (Matrix.mulVecLin.{u1, u2, u2} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))) n n _inst_1 (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_4))))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))) (Matrix.transpose.{u1, u3, u2} m n R A) A))) (LinearMap.ker.{u1, u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (LinearMap.{u1, u1, max u1 u2, max u1 u3} R R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.semilinearMapClass.{u1, u1, max u2 u1, max u3 u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (Matrix.mulVecLin.{u1, u3, u2} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))) m n _inst_1 A))
 Case conversion may be inaccurate. Consider using '#align matrix.ker_mul_vec_lin_transpose_mul_self Matrix.ker_mulVecLin_transpose_mul_selfₓ'. -/
 theorem ker_mulVecLin_transpose_mul_self (A : Matrix m n R) :
     LinearMap.ker (Aᵀ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) :=
Diff
@@ -262,7 +262,7 @@ theorem rank_le_height [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u1, u2, u3} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u3, max u1 u3} R (coeSort.{succ (max u1 u3), succ (succ (max u1 u3))} (Submodule.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))))) Type.{max u1 u3} (SetLike.hasCoeToSort.{max u1 u3, max u1 u3} (Submodule.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (m -> R) (Submodule.setLike.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Submodule.span.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Set.range.{max u1 u3, succ u2} (m -> R) n (Matrix.transpose.{u3, u1, u2} m n R A)))) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Submodule.addCommGroup.{u3, max u1 u3} R (m -> R) (CommRing.toRing.{u3} R _inst_3) (Pi.addCommGroup.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Submodule.span.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Set.range.{max u1 u3, succ u2} (m -> R) n (Matrix.transpose.{u3, u1, u2} m n R A)))) (Submodule.module.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Submodule.span.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Set.range.{max u1 u3, succ u2} (m -> R) n (Matrix.transpose.{u3, u1, u2} m n R A)))))
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u3, u2, u1} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u1, max u3 u1} R (Subtype.{succ (max u3 u1)} (m -> R) (fun (x : m -> R) => Membership.mem.{max u3 u1, max u3 u1} (m -> R) (Submodule.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (SetLike.instMembership.{max u3 u1, max u3 u1} (Submodule.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (m -> R) (Submodule.setLike.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))))) x (Submodule.span.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Submodule.addCommGroup.{u1, max u3 u1} R (m -> R) (CommRing.toRing.{u1} R _inst_3) (Pi.addCommGroup.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Submodule.span.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A)))) (Submodule.module.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Submodule.span.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A)))))
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u3, u2, u1} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u1, max u3 u1} R (Subtype.{succ (max u3 u1)} (m -> R) (fun (x : m -> R) => Membership.mem.{max u3 u1, max u3 u1} (m -> R) (Submodule.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (SetLike.instMembership.{max u3 u1, max u3 u1} (Submodule.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (m -> R) (Submodule.setLike.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))))) x (Submodule.span.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Submodule.addCommGroup.{u1, max u3 u1} R (m -> R) (CommRing.toRing.{u1} R _inst_3) (Pi.addCommGroup.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Submodule.span.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A)))) (Submodule.module.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Submodule.span.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A)))))
 Case conversion may be inaccurate. Consider using '#align matrix.rank_eq_finrank_span_cols Matrix.rank_eq_finrank_span_colsₓ'. -/
 /-- The rank of a matrix is the rank of the space spanned by its columns. -/
 theorem rank_eq_finrank_span_cols (A : Matrix m n R) :
@@ -294,7 +294,7 @@ variable [Fintype m] [Field R] [PartialOrder R] [StarOrderedRing R]
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : Field.{u3} R] [_inst_5 : PartialOrder.{u3} R] [_inst_6 : StarOrderedRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5] (A : Matrix.{u1, u2, u3} m n R), Eq.{succ (max u2 u3)} (Submodule.{u3, max u2 u3} R (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.ker.{u3, u3, max u2 u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (LinearMap.{u3, u3, max u2 u3, max u2 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Matrix.mulVecLin.{u3, u2, u2} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)) n n _inst_1 (Matrix.mul.{u3, u2, u1, u2} n m n R _inst_3 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StarOrderedRing.orderedAddCommGroup.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u3, u1, u2} m n R (InvolutiveStar.toHasStar.{u3} R (StarAddMonoid.toHasInvolutiveStar.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))))))) (StarRing.toStarAddMonoid.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) (StarOrderedRing.toStarRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5 _inst_6)))) A) A))) (LinearMap.ker.{u3, u3, max u2 u3, max u1 u3, max (max u2 u3) u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (LinearMap.{u3, u3, max u2 u3, max u1 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Matrix.mulVecLin.{u3, u1, u2} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)) m n _inst_1 A))
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u2 u1} R (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.ker.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u2, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) n n _inst_1 (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarSemigroup.toInvolutiveStar.{u1} R (SemigroupWithZero.toSemigroup.{u1} R (NonUnitalSemiring.toSemigroupWithZero.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))))) (StarRing.toStarSemigroup.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A) A))) (LinearMap.ker.{u1, u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u3} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u3 u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u3, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) m n _inst_1 A))
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u2 u1} R (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.ker.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u2, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) n n _inst_1 (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarAddMonoid.toInvolutiveStar.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (Ring.toAddGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (StarRing.toStarAddMonoid.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A) A))) (LinearMap.ker.{u1, u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u3} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u3 u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u3, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) m n _inst_1 A))
 Case conversion may be inaccurate. Consider using '#align matrix.ker_mul_vec_lin_conj_transpose_mul_self Matrix.ker_mulVecLin_conjTranspose_mul_selfₓ'. -/
 theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
     LinearMap.ker (Aᴴ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) :=
@@ -346,7 +346,7 @@ theorem rank_conjTranspose (A : Matrix m n R) : Aᴴ.rank = A.rank :=
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : Field.{u3} R] [_inst_5 : PartialOrder.{u3} R] [_inst_6 : StarOrderedRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u1, u1, u3} m m R _inst_3 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) (Matrix.mul.{u3, u1, u2, u1} m n m R _inst_1 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StarOrderedRing.orderedAddCommGroup.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))) _inst_5 _inst_6))) A (Matrix.conjTranspose.{u3, u1, u2} m n R (InvolutiveStar.toHasStar.{u3} R (StarAddMonoid.toHasInvolutiveStar.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))))))) (StarRing.toStarAddMonoid.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) (StarOrderedRing.toStarRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5 _inst_6)))) A))) (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) A)
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u3, u3, u1} m m R _inst_3 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) (Matrix.mul.{u1, u3, u2, u3} m n m R _inst_1 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) A (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarSemigroup.toInvolutiveStar.{u1} R (SemigroupWithZero.toSemigroup.{u1} R (NonUnitalSemiring.toSemigroupWithZero.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))))) (StarRing.toStarSemigroup.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A))) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) A)
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u3, u3, u1} m m R _inst_3 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) (Matrix.mul.{u1, u3, u2, u3} m n m R _inst_1 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) A (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarAddMonoid.toInvolutiveStar.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (Ring.toAddGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (StarRing.toStarAddMonoid.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A))) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) A)
 Case conversion may be inaccurate. Consider using '#align matrix.rank_self_mul_conj_transpose Matrix.rank_self_mul_conjTransposeₓ'. -/
 @[simp]
 theorem rank_self_mul_conjTranspose (A : Matrix m n R) : (A ⬝ Aᴴ).rank = A.rank := by
Diff
@@ -59,7 +59,7 @@ noncomputable def rank (A : Matrix m n R) : ℕ :=
 lean 3 declaration is
   forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n], Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} n n R) 1 (OfNat.mk.{max u1 u2} (Matrix.{u1, u1, u2} n n R) 1 (One.one.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.hasOne.{u2, u1} n R (fun (a : n) (b : n) => _inst_5 a b) (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_3)))))))))) (Fintype.card.{u1} n _inst_1)
 but is expected to have type
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n], Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} n n R) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.one.{u2, u1} n R (fun (a : n) (b : n) => _inst_5 a b) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (NonAssocRing.toOne.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))))) (Fintype.card.{u1} n _inst_1)
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n], Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} n n R) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.one.{u2, u1} n R (fun (a : n) (b : n) => _inst_5 a b) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Semiring.toOne.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Fintype.card.{u1} n _inst_1)
 Case conversion may be inaccurate. Consider using '#align matrix.rank_one Matrix.rank_oneₓ'. -/
 @[simp]
 theorem rank_one [StrongRankCondition R] [DecidableEq n] :
@@ -82,7 +82,7 @@ theorem rank_zero [Nontrivial R] : rank (0 : Matrix m n R) = 0 := by
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))] (A : Matrix.{u1, u2, u3} m n R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u1, u2, u3} m n R _inst_1 _inst_3 A) (Fintype.card.{u2} n _inst_1)
 but is expected to have type
-  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))] (A : Matrix.{u2, u1, u3} m n R), LE.le.{0} Nat instLENat (Matrix.rank.{u2, u1, u3} m n R _inst_1 _inst_3 A) (Fintype.card.{u1} n _inst_1)
+  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))] (A : Matrix.{u2, u1, u3} m n R), LE.le.{0} Nat instLENat (Matrix.rank.{u2, u1, u3} m n R _inst_1 _inst_3 A) (Fintype.card.{u1} n _inst_1)
 Case conversion may be inaccurate. Consider using '#align matrix.rank_le_card_width Matrix.rank_le_card_widthₓ'. -/
 theorem rank_le_card_width [StrongRankCondition R] (A : Matrix m n R) : A.rank ≤ Fintype.card n :=
   by
@@ -102,7 +102,7 @@ theorem rank_le_width [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (F
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {o : Type.{u3}} {R : Type.{u4}} [_inst_1 : Fintype.{u2} n] [_inst_2 : Fintype.{u3} o] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))] (A : Matrix.{u1, u2, u4} m n R) (B : Matrix.{u2, u3, u4} n o R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u1, u3, u4} m o R _inst_2 _inst_3 (Matrix.mul.{u4, u1, u2, u3} m n o R _inst_1 (Distrib.toHasMul.{u4} R (Ring.toDistrib.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddCommGroup.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toAddCommGroup.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Matrix.rank.{u1, u2, u4} m n R _inst_1 _inst_3 A)
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {o : Type.{u1}} {R : Type.{u4}} [_inst_1 : Fintype.{u2} n] [_inst_2 : Fintype.{u1} o] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))] (A : Matrix.{u3, u2, u4} m n R) (B : Matrix.{u2, u1, u4} n o R), LE.le.{0} Nat instLENat (Matrix.rank.{u3, u1, u4} m o R _inst_2 _inst_3 (Matrix.mul.{u4, u3, u2, u1} m n o R _inst_1 (NonUnitalNonAssocRing.toMul.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Matrix.rank.{u3, u2, u4} m n R _inst_1 _inst_3 A)
+  forall {m : Type.{u3}} {n : Type.{u2}} {o : Type.{u1}} {R : Type.{u4}} [_inst_1 : Fintype.{u2} n] [_inst_2 : Fintype.{u1} o] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))] (A : Matrix.{u3, u2, u4} m n R) (B : Matrix.{u2, u1, u4} n o R), LE.le.{0} Nat instLENat (Matrix.rank.{u3, u1, u4} m o R _inst_2 _inst_3 (Matrix.mul.{u4, u3, u2, u1} m n o R _inst_1 (NonUnitalNonAssocRing.toMul.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Matrix.rank.{u3, u2, u4} m n R _inst_1 _inst_3 A)
 Case conversion may be inaccurate. Consider using '#align matrix.rank_mul_le_left Matrix.rank_mul_le_leftₓ'. -/
 theorem rank_mul_le_left [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
     (A ⬝ B).rank ≤ A.rank := by
@@ -116,7 +116,7 @@ include m_fin
 lean 3 declaration is
   forall {l : Type.{u1}} {m : Type.{u2}} {n : Type.{u3}} {R : Type.{u4}} [m_fin : Fintype.{u2} m] [_inst_1 : Fintype.{u3} n] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))] (A : Matrix.{u1, u2, u4} l m R) (B : Matrix.{u2, u3, u4} m n R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u1, u3, u4} l n R _inst_1 _inst_3 (Matrix.mul.{u4, u1, u2, u3} l m n R m_fin (Distrib.toHasMul.{u4} R (Ring.toDistrib.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddCommGroup.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toAddCommGroup.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Matrix.rank.{u2, u3, u4} m n R _inst_1 _inst_3 B)
 but is expected to have type
-  forall {l : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u4}} [m_fin : Fintype.{u2} m] [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))] (A : Matrix.{u3, u2, u4} l m R) (B : Matrix.{u2, u1, u4} m n R), LE.le.{0} Nat instLENat (Matrix.rank.{u3, u1, u4} l n R _inst_1 _inst_3 (Matrix.mul.{u4, u3, u2, u1} l m n R m_fin (NonUnitalNonAssocRing.toMul.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Matrix.rank.{u2, u1, u4} m n R _inst_1 _inst_3 B)
+  forall {l : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u4}} [m_fin : Fintype.{u2} m] [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))] (A : Matrix.{u3, u2, u4} l m R) (B : Matrix.{u2, u1, u4} m n R), LE.le.{0} Nat instLENat (Matrix.rank.{u3, u1, u4} l n R _inst_1 _inst_3 (Matrix.mul.{u4, u3, u2, u1} l m n R m_fin (NonUnitalNonAssocRing.toMul.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Matrix.rank.{u2, u1, u4} m n R _inst_1 _inst_3 B)
 Case conversion may be inaccurate. Consider using '#align matrix.rank_mul_le_right Matrix.rank_mul_le_rightₓ'. -/
 theorem rank_mul_le_right [StrongRankCondition R] (A : Matrix l m R) (B : Matrix m n R) :
     (A ⬝ B).rank ≤ B.rank := by
@@ -131,7 +131,7 @@ omit m_fin
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {o : Type.{u3}} {R : Type.{u4}} [_inst_1 : Fintype.{u2} n] [_inst_2 : Fintype.{u3} o] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))] (A : Matrix.{u1, u2, u4} m n R) (B : Matrix.{u2, u3, u4} n o R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u1, u3, u4} m o R _inst_2 _inst_3 (Matrix.mul.{u4, u1, u2, u3} m n o R _inst_1 (Distrib.toHasMul.{u4} R (Ring.toDistrib.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddCommGroup.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toAddCommGroup.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (LinearOrder.min.{0} Nat Nat.linearOrder (Matrix.rank.{u1, u2, u4} m n R _inst_1 _inst_3 A) (Matrix.rank.{u2, u3, u4} n o R _inst_2 _inst_3 B))
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {o : Type.{u1}} {R : Type.{u4}} [_inst_1 : Fintype.{u2} n] [_inst_2 : Fintype.{u1} o] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))] (A : Matrix.{u3, u2, u4} m n R) (B : Matrix.{u2, u1, u4} n o R), LE.le.{0} Nat instLENat (Matrix.rank.{u3, u1, u4} m o R _inst_2 _inst_3 (Matrix.mul.{u4, u3, u2, u1} m n o R _inst_1 (NonUnitalNonAssocRing.toMul.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Min.min.{0} Nat instMinNat (Matrix.rank.{u3, u2, u4} m n R _inst_1 _inst_3 A) (Matrix.rank.{u2, u1, u4} n o R _inst_2 _inst_3 B))
+  forall {m : Type.{u3}} {n : Type.{u2}} {o : Type.{u1}} {R : Type.{u4}} [_inst_1 : Fintype.{u2} n] [_inst_2 : Fintype.{u1} o] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (CommSemiring.toSemiring.{u4} R (CommRing.toCommSemiring.{u4} R _inst_3))] (A : Matrix.{u3, u2, u4} m n R) (B : Matrix.{u2, u1, u4} n o R), LE.le.{0} Nat instLENat (Matrix.rank.{u3, u1, u4} m o R _inst_2 _inst_3 (Matrix.mul.{u4, u3, u2, u1} m n o R _inst_1 (NonUnitalNonAssocRing.toMul.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Min.min.{0} Nat instMinNat (Matrix.rank.{u3, u2, u4} m n R _inst_1 _inst_3 A) (Matrix.rank.{u2, u1, u4} n o R _inst_2 _inst_3 B))
 Case conversion may be inaccurate. Consider using '#align matrix.rank_mul_le Matrix.rank_mul_leₓ'. -/
 theorem rank_mul_le [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
     (A ⬝ B).rank ≤ min A.rank B.rank :=
@@ -142,7 +142,7 @@ theorem rank_mul_le [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R
 lean 3 declaration is
   forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n] (A : Units.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3)))), Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 ((fun (a : Type.{max u1 u2}) (b : Type.{max u1 u2}) [self : HasLiftT.{succ (max u1 u2), succ (max u1 u2)} a b] => self.0) (Units.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3)))) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Units.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3)))) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Units.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3)))) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Units.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3)))) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3))))))) A)) (Fintype.card.{u1} n _inst_1)
 but is expected to have type
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n] (A : Units.{max u2 u1} (Matrix.{u1, u1, u2} n n R) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.semiring.{u2, u1} n R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) _inst_1 (fun (a : n) (b : n) => _inst_5 a b))))), Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 (Units.val.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.semiring.{u2, u1} n R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) _inst_1 (fun (a : n) (b : n) => _inst_5 a b)))) A)) (Fintype.card.{u1} n _inst_1)
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n] (A : Units.{max u2 u1} (Matrix.{u1, u1, u2} n n R) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.semiring.{u2, u1} n R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 (fun (a : n) (b : n) => _inst_5 a b))))), Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 (Units.val.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.semiring.{u2, u1} n R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 (fun (a : n) (b : n) => _inst_5 a b)))) A)) (Fintype.card.{u1} n _inst_1)
 Case conversion may be inaccurate. Consider using '#align matrix.rank_unit Matrix.rank_unitₓ'. -/
 theorem rank_unit [StrongRankCondition R] [DecidableEq n] (A : (Matrix n n R)ˣ) :
     (A : Matrix n n R).rank = Fintype.card n :=
@@ -156,7 +156,7 @@ theorem rank_unit [StrongRankCondition R] [DecidableEq n] (A : (Matrix n n R)ˣ)
 lean 3 declaration is
   forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n] (A : Matrix.{u1, u1, u2} n n R), (IsUnit.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3))) A) -> (Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 A) (Fintype.card.{u1} n _inst_1))
 but is expected to have type
-  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n] (A : Matrix.{u1, u1, u2} n n R), (IsUnit.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.semiring.{u2, u1} n R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) _inst_1 (fun (a : n) (b : n) => _inst_5 a b)))) A) -> (Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 A) (Fintype.card.{u1} n _inst_1))
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n] (A : Matrix.{u1, u1, u2} n n R), (IsUnit.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.semiring.{u2, u1} n R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_1 (fun (a : n) (b : n) => _inst_5 a b)))) A) -> (Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 A) (Fintype.card.{u1} n _inst_1))
 Case conversion may be inaccurate. Consider using '#align matrix.rank_of_is_unit Matrix.rank_of_isUnitₓ'. -/
 theorem rank_of_isUnit [StrongRankCondition R] [DecidableEq n] (A : Matrix n n R) (h : IsUnit A) :
     A.rank = Fintype.card n := by
@@ -168,7 +168,7 @@ theorem rank_of_isUnit [StrongRankCondition R] [DecidableEq n] (A : Matrix n n R
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))] [_inst_5 : Fintype.{u1} m] (f : n -> m) (e : Equiv.{succ u2, succ u1} n m) (A : Matrix.{u1, u1, u3} m m R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u2, u2, u3} n n R _inst_1 _inst_3 (Matrix.submatrix.{u3, u2, u1, u1, u2} n m m n R A f (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} n m) (fun (_x : Equiv.{succ u2, succ u1} n m) => n -> m) (Equiv.hasCoeToFun.{succ u2, succ u1} n m) e))) (Matrix.rank.{u1, u1, u3} m m R _inst_5 _inst_3 A)
 but is expected to have type
-  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))] [_inst_5 : Fintype.{u2} m] (f : n -> m) (e : Equiv.{succ u1, succ u2} n m) (A : Matrix.{u2, u2, u3} m m R), LE.le.{0} Nat instLENat (Matrix.rank.{u1, u1, u3} n n R _inst_1 _inst_3 (Matrix.submatrix.{u3, u1, u2, u2, u1} n m m n R A f (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (Equiv.{succ u1, succ u2} n m) n (fun (_x : n) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : n) => m) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} n m) e))) (Matrix.rank.{u2, u2, u3} m m R _inst_5 _inst_3 A)
+  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))] [_inst_5 : Fintype.{u2} m] (f : n -> m) (e : Equiv.{succ u1, succ u2} n m) (A : Matrix.{u2, u2, u3} m m R), LE.le.{0} Nat instLENat (Matrix.rank.{u1, u1, u3} n n R _inst_1 _inst_3 (Matrix.submatrix.{u3, u1, u2, u2, u1} n m m n R A f (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (Equiv.{succ u1, succ u2} n m) n (fun (_x : n) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : n) => m) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} n m) e))) (Matrix.rank.{u2, u2, u3} m m R _inst_5 _inst_3 A)
 Case conversion may be inaccurate. Consider using '#align matrix.rank_submatrix_le Matrix.rank_submatrix_leₓ'. -/
 /-- Taking a subset of the rows and permuting the columns reduces the rank. -/
 theorem rank_submatrix_le [StrongRankCondition R] [Fintype m] (f : n → m) (e : n ≃ m)
@@ -210,7 +210,7 @@ include m_fin
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [m_fin : Fintype.{u1} m] [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : DecidableEq.{succ u2} n] {M₁ : Type.{u4}} {M₂ : Type.{u5}} [_inst_5 : AddCommGroup.{u4} M₁] [_inst_6 : AddCommGroup.{u5} M₂] [_inst_7 : Module.{u3, u4} R M₁ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5)] [_inst_8 : Module.{u3, u5} R M₂ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6)] (A : Matrix.{u1, u2, u3} m n R) (v₁ : Basis.{u1, u3, u4} m R M₁ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (v₂ : Basis.{u2, u3, u5} n R M₂ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) _inst_8), Eq.{1} Nat (Matrix.rank.{u1, u2, u3} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u3, u4} R (coeSort.{succ u4, succ (succ u4)} (Submodule.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) Type.{u4} (SetLike.hasCoeToSort.{u4, u4} (Submodule.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) M₁ (Submodule.setLike.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (LinearMap.range.{u3, u3, u5, u4, max u5 u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.semilinearMapClass.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (RingHomSurjective.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max u5 u4)), max (succ (max u1 u2 u3)) (succ (max u5 u4))} (LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) (fun (_x : LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) => (Matrix.{u1, u2, u3} m n R) -> (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u2 u3, max u5 u4} R R (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (Matrix.toLin.{u3, u1, u2, u5, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Submodule.addCommGroup.{u3, u4} R M₁ (CommRing.toRing.{u3} R _inst_3) _inst_5 _inst_7 (LinearMap.range.{u3, u3, u5, u4, max u5 u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.semilinearMapClass.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (RingHomSurjective.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max u5 u4)), max (succ (max u1 u2 u3)) (succ (max u5 u4))} (LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) (fun (_x : LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) => (Matrix.{u1, u2, u3} m n R) -> (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u2 u3, max u5 u4} R R (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (Matrix.toLin.{u3, u1, u2, u5, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Submodule.module.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7 (LinearMap.range.{u3, u3, u5, u4, max u5 u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.semilinearMapClass.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (RingHomSurjective.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max u5 u4)), max (succ (max u1 u2 u3)) (succ (max u5 u4))} (LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) (fun (_x : LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) => (Matrix.{u1, u2, u3} m n R) -> (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u2 u3, max u5 u4} R R (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (Matrix.toLin.{u3, u1, u2, u5, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))))
 but is expected to have type
-  forall {m : Type.{u1}} {n : Type.{u5}} {R : Type.{u2}} [m_fin : Fintype.{u1} m] [_inst_1 : Fintype.{u5} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : DecidableEq.{succ u5} n] {M₁ : Type.{u4}} {M₂ : Type.{u3}} [_inst_5 : AddCommGroup.{u4} M₁] [_inst_6 : AddCommGroup.{u3} M₂] [_inst_7 : Module.{u2, u4} R M₁ (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5)] [_inst_8 : Module.{u2, u3} R M₂ (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6)] (A : Matrix.{u1, u5, u2} m n R) (v₁ : Basis.{u1, u2, u4} m R M₁ (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (v₂ : Basis.{u5, u2, u3} n R M₂ (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) _inst_8), Eq.{1} Nat (Matrix.rank.{u1, u5, u2} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u2, u4} R (Subtype.{succ u4} M₁ (fun (x : M₁) => Membership.mem.{u4, u4} M₁ (Submodule.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (SetLike.instMembership.{u4, u4} (Submodule.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) M₁ (Submodule.setLike.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) x (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (a : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) a) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Submodule.addCommGroup.{u2, u4} R M₁ (CommRing.toRing.{u2} R _inst_3) _inst_5 _inst_7 (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (_x : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) _x) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Submodule.module.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7 (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (_x : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) _x) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))))
+  forall {m : Type.{u1}} {n : Type.{u5}} {R : Type.{u2}} [m_fin : Fintype.{u1} m] [_inst_1 : Fintype.{u5} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : DecidableEq.{succ u5} n] {M₁ : Type.{u4}} {M₂ : Type.{u3}} [_inst_5 : AddCommGroup.{u4} M₁] [_inst_6 : AddCommGroup.{u3} M₂] [_inst_7 : Module.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5)] [_inst_8 : Module.{u2, u3} R M₂ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6)] (A : Matrix.{u1, u5, u2} m n R) (v₁ : Basis.{u1, u2, u4} m R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (v₂ : Basis.{u5, u2, u3} n R M₂ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) _inst_8), Eq.{1} Nat (Matrix.rank.{u1, u5, u2} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u2, u4} R (Subtype.{succ u4} M₁ (fun (x : M₁) => Membership.mem.{u4, u4} M₁ (Submodule.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (SetLike.instMembership.{u4, u4} (Submodule.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) M₁ (Submodule.setLike.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) x (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (a : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) a) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Submodule.addCommGroup.{u2, u4} R M₁ (CommRing.toRing.{u2} R _inst_3) _inst_5 _inst_7 (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (_x : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) _x) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Submodule.module.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7 (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (_x : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) _x) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))))
 Case conversion may be inaccurate. Consider using '#align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLinₓ'. -/
 theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCommGroup M₁]
     [AddCommGroup M₂] [Module R M₁] [Module R M₂] (A : Matrix m n R) (v₁ : Basis m R M₁)
@@ -240,7 +240,7 @@ theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCom
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [m_fin : Fintype.{u1} m] [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))] (A : Matrix.{u1, u2, u3} m n R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u1, u2, u3} m n R _inst_1 _inst_3 A) (Fintype.card.{u1} m m_fin)
 but is expected to have type
-  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [m_fin : Fintype.{u2} m] [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))] (A : Matrix.{u2, u1, u3} m n R), LE.le.{0} Nat instLENat (Matrix.rank.{u2, u1, u3} m n R _inst_1 _inst_3 A) (Fintype.card.{u2} m m_fin)
+  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [m_fin : Fintype.{u2} m] [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))] (A : Matrix.{u2, u1, u3} m n R), LE.le.{0} Nat instLENat (Matrix.rank.{u2, u1, u3} m n R _inst_1 _inst_3 A) (Fintype.card.{u2} m m_fin)
 Case conversion may be inaccurate. Consider using '#align matrix.rank_le_card_height Matrix.rank_le_card_heightₓ'. -/
 theorem rank_le_card_height [StrongRankCondition R] (A : Matrix m n R) : A.rank ≤ Fintype.card m :=
   by
@@ -262,7 +262,7 @@ theorem rank_le_height [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u1, u2, u3} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u3, max u1 u3} R (coeSort.{succ (max u1 u3), succ (succ (max u1 u3))} (Submodule.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))))) Type.{max u1 u3} (SetLike.hasCoeToSort.{max u1 u3, max u1 u3} (Submodule.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (m -> R) (Submodule.setLike.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Submodule.span.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Set.range.{max u1 u3, succ u2} (m -> R) n (Matrix.transpose.{u3, u1, u2} m n R A)))) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Submodule.addCommGroup.{u3, max u1 u3} R (m -> R) (CommRing.toRing.{u3} R _inst_3) (Pi.addCommGroup.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Submodule.span.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Set.range.{max u1 u3, succ u2} (m -> R) n (Matrix.transpose.{u3, u1, u2} m n R A)))) (Submodule.module.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Submodule.span.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Set.range.{max u1 u3, succ u2} (m -> R) n (Matrix.transpose.{u3, u1, u2} m n R A)))))
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u3, u2, u1} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u1, max u3 u1} R (Subtype.{succ (max u3 u1)} (m -> R) (fun (x : m -> R) => Membership.mem.{max u3 u1, max u3 u1} (m -> R) (Submodule.{u1, max u3 u1} R (m -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (SetLike.instMembership.{max u3 u1, max u3 u1} (Submodule.{u1, max u3 u1} R (m -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (m -> R) (Submodule.setLike.{u1, max u3 u1} R (m -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))))) x (Submodule.span.{u1, max u3 u1} R (m -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (Submodule.addCommGroup.{u1, max u3 u1} R (m -> R) (CommRing.toRing.{u1} R _inst_3) (Pi.addCommGroup.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Submodule.span.{u1, max u3 u1} R (m -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A)))) (Submodule.module.{u1, max u3 u1} R (m -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Submodule.span.{u1, max u3 u1} R (m -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A)))))
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u3, u2, u1} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u1, max u3 u1} R (Subtype.{succ (max u3 u1)} (m -> R) (fun (x : m -> R) => Membership.mem.{max u3 u1, max u3 u1} (m -> R) (Submodule.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (SetLike.instMembership.{max u3 u1, max u3 u1} (Submodule.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (m -> R) (Submodule.setLike.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))))) x (Submodule.span.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A))))) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Submodule.addCommGroup.{u1, max u3 u1} R (m -> R) (CommRing.toRing.{u1} R _inst_3) (Pi.addCommGroup.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Submodule.span.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A)))) (Submodule.module.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Submodule.span.{u1, max u3 u1} R (m -> R) (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A)))))
 Case conversion may be inaccurate. Consider using '#align matrix.rank_eq_finrank_span_cols Matrix.rank_eq_finrank_span_colsₓ'. -/
 /-- The rank of a matrix is the rank of the space spanned by its columns. -/
 theorem rank_eq_finrank_span_cols (A : Matrix m n R) :
@@ -294,7 +294,7 @@ variable [Fintype m] [Field R] [PartialOrder R] [StarOrderedRing R]
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : Field.{u3} R] [_inst_5 : PartialOrder.{u3} R] [_inst_6 : StarOrderedRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5] (A : Matrix.{u1, u2, u3} m n R), Eq.{succ (max u2 u3)} (Submodule.{u3, max u2 u3} R (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.ker.{u3, u3, max u2 u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (LinearMap.{u3, u3, max u2 u3, max u2 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Matrix.mulVecLin.{u3, u2, u2} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)) n n _inst_1 (Matrix.mul.{u3, u2, u1, u2} n m n R _inst_3 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StarOrderedRing.orderedAddCommGroup.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u3, u1, u2} m n R (InvolutiveStar.toHasStar.{u3} R (StarAddMonoid.toHasInvolutiveStar.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))))))) (StarRing.toStarAddMonoid.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) (StarOrderedRing.toStarRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5 _inst_6)))) A) A))) (LinearMap.ker.{u3, u3, max u2 u3, max u1 u3, max (max u2 u3) u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (LinearMap.{u3, u3, max u2 u3, max u1 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Matrix.mulVecLin.{u3, u1, u2} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)) m n _inst_1 A))
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u2 u1} R (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.ker.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u2, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) n n _inst_1 (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarSemigroup.toInvolutiveStar.{u1} R (SemigroupWithZero.toSemigroup.{u1} R (NonUnitalSemiring.toSemigroupWithZero.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))))) (StarRing.toStarSemigroup.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A) A))) (LinearMap.ker.{u1, u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u3} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u3 u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u3, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) m n _inst_1 A))
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u2 u1} R (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.ker.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u2, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) n n _inst_1 (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarSemigroup.toInvolutiveStar.{u1} R (SemigroupWithZero.toSemigroup.{u1} R (NonUnitalSemiring.toSemigroupWithZero.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))))) (StarRing.toStarSemigroup.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A) A))) (LinearMap.ker.{u1, u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u3} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u3 u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u3, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) m n _inst_1 A))
 Case conversion may be inaccurate. Consider using '#align matrix.ker_mul_vec_lin_conj_transpose_mul_self Matrix.ker_mulVecLin_conjTranspose_mul_selfₓ'. -/
 theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
     LinearMap.ker (Aᴴ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) :=
@@ -314,7 +314,7 @@ theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : Field.{u3} R] [_inst_5 : PartialOrder.{u3} R] [_inst_6 : StarOrderedRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u2, u2, u3} n n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) (Matrix.mul.{u3, u2, u1, u2} n m n R _inst_3 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StarOrderedRing.orderedAddCommGroup.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u3, u1, u2} m n R (InvolutiveStar.toHasStar.{u3} R (StarAddMonoid.toHasInvolutiveStar.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))))))) (StarRing.toStarAddMonoid.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) (StarOrderedRing.toStarRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5 _inst_6)))) A) A)) (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) A)
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u2, u2, u1} n n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarAddMonoid.toInvolutiveStar.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (Ring.toAddGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (StarRing.toStarAddMonoid.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A) A)) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) A)
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u2, u2, u1} n n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarAddMonoid.toInvolutiveStar.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (Ring.toAddGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (StarRing.toStarAddMonoid.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A) A)) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) A)
 Case conversion may be inaccurate. Consider using '#align matrix.rank_conj_transpose_mul_self Matrix.rank_conjTranspose_mul_selfₓ'. -/
 theorem rank_conjTranspose_mul_self (A : Matrix m n R) : (Aᴴ ⬝ A).rank = A.rank :=
   by
@@ -330,7 +330,7 @@ theorem rank_conjTranspose_mul_self (A : Matrix m n R) : (Aᴴ ⬝ A).rank = A.r
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : Field.{u3} R] [_inst_5 : PartialOrder.{u3} R] [_inst_6 : StarOrderedRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u2, u1, u3} n m R _inst_3 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) (Matrix.conjTranspose.{u3, u1, u2} m n R (InvolutiveStar.toHasStar.{u3} R (StarAddMonoid.toHasInvolutiveStar.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))))))) (StarRing.toStarAddMonoid.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) (StarOrderedRing.toStarRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5 _inst_6)))) A)) (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) A)
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u2, u3, u1} n m R _inst_3 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarAddMonoid.toInvolutiveStar.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (Ring.toAddGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (StarRing.toStarAddMonoid.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A)) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) A)
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u2, u3, u1} n m R _inst_3 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarAddMonoid.toInvolutiveStar.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (Ring.toAddGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (StarRing.toStarAddMonoid.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A)) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) A)
 Case conversion may be inaccurate. Consider using '#align matrix.rank_conj_transpose Matrix.rank_conjTransposeₓ'. -/
 -- this follows the proof here https://math.stackexchange.com/a/81903/1896
 /-- TODO: prove this in greater generality. -/
@@ -346,7 +346,7 @@ theorem rank_conjTranspose (A : Matrix m n R) : Aᴴ.rank = A.rank :=
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : Field.{u3} R] [_inst_5 : PartialOrder.{u3} R] [_inst_6 : StarOrderedRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u1, u1, u3} m m R _inst_3 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) (Matrix.mul.{u3, u1, u2, u1} m n m R _inst_1 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StarOrderedRing.orderedAddCommGroup.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))) _inst_5 _inst_6))) A (Matrix.conjTranspose.{u3, u1, u2} m n R (InvolutiveStar.toHasStar.{u3} R (StarAddMonoid.toHasInvolutiveStar.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))))))) (StarRing.toStarAddMonoid.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) (StarOrderedRing.toStarRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5 _inst_6)))) A))) (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) A)
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u3, u3, u1} m m R _inst_3 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) (Matrix.mul.{u1, u3, u2, u3} m n m R _inst_1 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) A (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarSemigroup.toInvolutiveStar.{u1} R (SemigroupWithZero.toSemigroup.{u1} R (NonUnitalSemiring.toSemigroupWithZero.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))))) (StarRing.toStarSemigroup.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A))) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) A)
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u3, u3, u1} m m R _inst_3 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) (Matrix.mul.{u1, u3, u2, u3} m n m R _inst_1 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) A (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarSemigroup.toInvolutiveStar.{u1} R (SemigroupWithZero.toSemigroup.{u1} R (NonUnitalSemiring.toSemigroupWithZero.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))))) (StarRing.toStarSemigroup.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalCommSemiring.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalCommSemiring.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A))) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) A)
 Case conversion may be inaccurate. Consider using '#align matrix.rank_self_mul_conj_transpose Matrix.rank_self_mul_conjTransposeₓ'. -/
 @[simp]
 theorem rank_self_mul_conjTranspose (A : Matrix m n R) : (A ⬝ Aᴴ).rank = A.rank := by
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin, Eric Wieer
 
 ! This file was ported from Lean 3 source module data.matrix.rank
-! leanprover-community/mathlib commit 17219820a8aa8abe85adf5dfde19af1dd1bd8ae7
+! leanprover-community/mathlib commit fe8d0ff42c3c24d789f491dc2622b6cac3d61564
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -17,6 +17,9 @@ import Mathbin.Data.Complex.Module
 /-!
 # Rank of matrices
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 The rank of a matrix `A` is defined to be the rank of range of the linear map corresponding to `A`.
 This definition does not depend on the choice of basis, see `matrix.rank_eq_finrank_range_to_lin`.
 
Diff
@@ -291,7 +291,7 @@ variable [Fintype m] [Field R] [PartialOrder R] [StarOrderedRing R]
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : Field.{u3} R] [_inst_5 : PartialOrder.{u3} R] [_inst_6 : StarOrderedRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5] (A : Matrix.{u1, u2, u3} m n R), Eq.{succ (max u2 u3)} (Submodule.{u3, max u2 u3} R (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.ker.{u3, u3, max u2 u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (LinearMap.{u3, u3, max u2 u3, max u2 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Matrix.mulVecLin.{u3, u2, u2} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)) n n _inst_1 (Matrix.mul.{u3, u2, u1, u2} n m n R _inst_3 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StarOrderedRing.orderedAddCommGroup.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u3, u1, u2} m n R (InvolutiveStar.toHasStar.{u3} R (StarAddMonoid.toHasInvolutiveStar.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))))))) (StarRing.toStarAddMonoid.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) (StarOrderedRing.toStarRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5 _inst_6)))) A) A))) (LinearMap.ker.{u3, u3, max u2 u3, max u1 u3, max (max u2 u3) u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (LinearMap.{u3, u3, max u2 u3, max u1 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Matrix.mulVecLin.{u3, u1, u2} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)) m n _inst_1 A))
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u2 u1} R (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.ker.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u2, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) n n _inst_1 (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarSemigroup.toInvolutiveStar.{u1} R (SemigroupWithZero.toSemigroup.{u1} R (NonUnitalSemiring.toSemigroupWithZero.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))))) (StarRing.toStarSemigroup.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A) A))) (LinearMap.ker.{u1, u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u3} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u3 u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u3, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) m n _inst_1 A))
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u2 u1} R (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.ker.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u2, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) n n _inst_1 (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarSemigroup.toInvolutiveStar.{u1} R (SemigroupWithZero.toSemigroup.{u1} R (NonUnitalSemiring.toSemigroupWithZero.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))))) (StarRing.toStarSemigroup.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A) A))) (LinearMap.ker.{u1, u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u3} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u3 u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u3, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) m n _inst_1 A))
 Case conversion may be inaccurate. Consider using '#align matrix.ker_mul_vec_lin_conj_transpose_mul_self Matrix.ker_mulVecLin_conjTranspose_mul_selfₓ'. -/
 theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
     LinearMap.ker (Aᴴ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) :=
@@ -361,7 +361,7 @@ variable [Fintype m] [LinearOrderedField R]
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : LinearOrderedField.{u3} R] (A : Matrix.{u1, u2, u3} m n R), Eq.{succ (max u2 u3)} (Submodule.{u3, max u2 u3} R (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (LinearMap.ker.{u3, u3, max u2 u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (LinearMap.{u3, u3, max u2 u3, max u2 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Matrix.mulVecLin.{u3, u2, u2} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))) n n _inst_1 (Matrix.mul.{u3, u2, u1, u2} n m n R _inst_3 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_4)))))) (Matrix.transpose.{u3, u1, u2} m n R A) A))) (LinearMap.ker.{u3, u3, max u2 u3, max u1 u3, max (max u2 u3) u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (LinearMap.{u3, u3, max u2 u3, max u1 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Matrix.mulVecLin.{u3, u1, u2} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))) m n _inst_1 A))
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : LinearOrderedField.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u2 u1} R (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.ker.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (Matrix.mulVecLin.{u1, u2, u2} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))) n n _inst_1 (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_4))))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))) (Matrix.transpose.{u1, u3, u2} m n R A) A))) (LinearMap.ker.{u1, u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (LinearMap.{u1, u1, max u1 u2, max u1 u3} R R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u3 u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (Matrix.mulVecLin.{u1, u3, u2} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))) m n _inst_1 A))
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : LinearOrderedField.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u2 u1} R (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.ker.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (Matrix.mulVecLin.{u1, u2, u2} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))) n n _inst_1 (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_4))))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))) (Matrix.transpose.{u1, u3, u2} m n R A) A))) (LinearMap.ker.{u1, u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (LinearMap.{u1, u1, max u1 u2, max u1 u3} R R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u3 u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1177 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1180 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (Matrix.mulVecLin.{u1, u3, u2} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))) m n _inst_1 A))
 Case conversion may be inaccurate. Consider using '#align matrix.ker_mul_vec_lin_transpose_mul_self Matrix.ker_mulVecLin_transpose_mul_selfₓ'. -/
 theorem ker_mulVecLin_transpose_mul_self (A : Matrix m n R) :
     LinearMap.ker (Aᵀ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) :=
Diff
@@ -45,22 +45,42 @@ section CommRing
 
 variable [CommRing R]
 
+#print Matrix.rank /-
 /-- The rank of a matrix is the rank of its image. -/
 noncomputable def rank (A : Matrix m n R) : ℕ :=
   finrank R A.mulVecLin.range
 #align matrix.rank Matrix.rank
+-/
 
+/- warning: matrix.rank_one -> Matrix.rank_one is a dubious translation:
+lean 3 declaration is
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n], Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} n n R) 1 (OfNat.mk.{max u1 u2} (Matrix.{u1, u1, u2} n n R) 1 (One.one.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.hasOne.{u2, u1} n R (fun (a : n) (b : n) => _inst_5 a b) (MulZeroClass.toHasZero.{u2} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} R (NonAssocRing.toNonUnitalNonAssocRing.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3)))))) (AddMonoidWithOne.toOne.{u2} R (AddGroupWithOne.toAddMonoidWithOne.{u2} R (AddCommGroupWithOne.toAddGroupWithOne.{u2} R (Ring.toAddCommGroupWithOne.{u2} R (CommRing.toRing.{u2} R _inst_3)))))))))) (Fintype.card.{u1} n _inst_1)
+but is expected to have type
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n], Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 (OfNat.ofNat.{max u1 u2} (Matrix.{u1, u1, u2} n n R) 1 (One.toOfNat1.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.one.{u2, u1} n R (fun (a : n) (b : n) => _inst_5 a b) (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (NonAssocRing.toOne.{u2} R (Ring.toNonAssocRing.{u2} R (CommRing.toRing.{u2} R _inst_3))))))) (Fintype.card.{u1} n _inst_1)
+Case conversion may be inaccurate. Consider using '#align matrix.rank_one Matrix.rank_oneₓ'. -/
 @[simp]
 theorem rank_one [StrongRankCondition R] [DecidableEq n] :
     rank (1 : Matrix n n R) = Fintype.card n := by
   rw [rank, mul_vec_lin_one, LinearMap.range_id, finrank_top, finrank_pi]
 #align matrix.rank_one Matrix.rank_one
 
+/- warning: matrix.rank_zero -> Matrix.rank_zero is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : Nontrivial.{u3} R], Eq.{1} Nat (Matrix.rank.{u1, u2, u3} m n R _inst_1 _inst_3 (OfNat.ofNat.{max u1 u2 u3} (Matrix.{u1, u2, u3} m n R) 0 (OfNat.mk.{max u1 u2 u3} (Matrix.{u1, u2, u3} m n R) 0 (Zero.zero.{max u1 u2 u3} (Matrix.{u1, u2, u3} m n R) (Matrix.hasZero.{u3, u1, u2} m n R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))))))))) (OfNat.ofNat.{0} Nat 0 (OfNat.mk.{0} Nat 0 (Zero.zero.{0} Nat Nat.hasZero)))
+but is expected to have type
+  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : Nontrivial.{u3} R], Eq.{1} Nat (Matrix.rank.{u2, u1, u3} m n R _inst_1 _inst_3 (OfNat.ofNat.{max (max u2 u1) u3} (Matrix.{u2, u1, u3} m n R) 0 (Zero.toOfNat0.{max (max u2 u1) u3} (Matrix.{u2, u1, u3} m n R) (Matrix.zero.{u3, u2, u1} m n R (CommMonoidWithZero.toZero.{u3} R (CommSemiring.toCommMonoidWithZero.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))))) (OfNat.ofNat.{0} Nat 0 (instOfNatNat 0))
+Case conversion may be inaccurate. Consider using '#align matrix.rank_zero Matrix.rank_zeroₓ'. -/
 @[simp]
 theorem rank_zero [Nontrivial R] : rank (0 : Matrix m n R) = 0 := by
   rw [rank, mul_vec_lin_zero, LinearMap.range_zero, finrank_bot]
 #align matrix.rank_zero Matrix.rank_zero
 
+/- warning: matrix.rank_le_card_width -> Matrix.rank_le_card_width is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))] (A : Matrix.{u1, u2, u3} m n R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u1, u2, u3} m n R _inst_1 _inst_3 A) (Fintype.card.{u2} n _inst_1)
+but is expected to have type
+  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))] (A : Matrix.{u2, u1, u3} m n R), LE.le.{0} Nat instLENat (Matrix.rank.{u2, u1, u3} m n R _inst_1 _inst_3 A) (Fintype.card.{u1} n _inst_1)
+Case conversion may be inaccurate. Consider using '#align matrix.rank_le_card_width Matrix.rank_le_card_widthₓ'. -/
 theorem rank_le_card_width [StrongRankCondition R] (A : Matrix m n R) : A.rank ≤ Fintype.card n :=
   by
   haveI : Module.Finite R (n → R) := Module.Finite.pi
@@ -68,11 +88,19 @@ theorem rank_le_card_width [StrongRankCondition R] (A : Matrix m n R) : A.rank 
   exact A.mul_vec_lin.finrank_range_le.trans_eq (finrank_pi _)
 #align matrix.rank_le_card_width Matrix.rank_le_card_width
 
+#print Matrix.rank_le_width /-
 theorem rank_le_width [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (Fin n) R) :
     A.rank ≤ n :=
   A.rank_le_card_width.trans <| (Fintype.card_fin n).le
 #align matrix.rank_le_width Matrix.rank_le_width
+-/
 
+/- warning: matrix.rank_mul_le_left -> Matrix.rank_mul_le_left is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {o : Type.{u3}} {R : Type.{u4}} [_inst_1 : Fintype.{u2} n] [_inst_2 : Fintype.{u3} o] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))] (A : Matrix.{u1, u2, u4} m n R) (B : Matrix.{u2, u3, u4} n o R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u1, u3, u4} m o R _inst_2 _inst_3 (Matrix.mul.{u4, u1, u2, u3} m n o R _inst_1 (Distrib.toHasMul.{u4} R (Ring.toDistrib.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddCommGroup.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toAddCommGroup.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Matrix.rank.{u1, u2, u4} m n R _inst_1 _inst_3 A)
+but is expected to have type
+  forall {m : Type.{u3}} {n : Type.{u2}} {o : Type.{u1}} {R : Type.{u4}} [_inst_1 : Fintype.{u2} n] [_inst_2 : Fintype.{u1} o] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))] (A : Matrix.{u3, u2, u4} m n R) (B : Matrix.{u2, u1, u4} n o R), LE.le.{0} Nat instLENat (Matrix.rank.{u3, u1, u4} m o R _inst_2 _inst_3 (Matrix.mul.{u4, u3, u2, u1} m n o R _inst_1 (NonUnitalNonAssocRing.toMul.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Matrix.rank.{u3, u2, u4} m n R _inst_1 _inst_3 A)
+Case conversion may be inaccurate. Consider using '#align matrix.rank_mul_le_left Matrix.rank_mul_le_leftₓ'. -/
 theorem rank_mul_le_left [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
     (A ⬝ B).rank ≤ A.rank := by
   rw [rank, rank, mul_vec_lin_mul]
@@ -81,6 +109,12 @@ theorem rank_mul_le_left [StrongRankCondition R] (A : Matrix m n R) (B : Matrix
 
 include m_fin
 
+/- warning: matrix.rank_mul_le_right -> Matrix.rank_mul_le_right is a dubious translation:
+lean 3 declaration is
+  forall {l : Type.{u1}} {m : Type.{u2}} {n : Type.{u3}} {R : Type.{u4}} [m_fin : Fintype.{u2} m] [_inst_1 : Fintype.{u3} n] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))] (A : Matrix.{u1, u2, u4} l m R) (B : Matrix.{u2, u3, u4} m n R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u1, u3, u4} l n R _inst_1 _inst_3 (Matrix.mul.{u4, u1, u2, u3} l m n R m_fin (Distrib.toHasMul.{u4} R (Ring.toDistrib.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddCommGroup.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toAddCommGroup.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Matrix.rank.{u2, u3, u4} m n R _inst_1 _inst_3 B)
+but is expected to have type
+  forall {l : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u4}} [m_fin : Fintype.{u2} m] [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))] (A : Matrix.{u3, u2, u4} l m R) (B : Matrix.{u2, u1, u4} m n R), LE.le.{0} Nat instLENat (Matrix.rank.{u3, u1, u4} l n R _inst_1 _inst_3 (Matrix.mul.{u4, u3, u2, u1} l m n R m_fin (NonUnitalNonAssocRing.toMul.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Matrix.rank.{u2, u1, u4} m n R _inst_1 _inst_3 B)
+Case conversion may be inaccurate. Consider using '#align matrix.rank_mul_le_right Matrix.rank_mul_le_rightₓ'. -/
 theorem rank_mul_le_right [StrongRankCondition R] (A : Matrix l m R) (B : Matrix m n R) :
     (A ⬝ B).rank ≤ B.rank := by
   rw [rank, rank, mul_vec_lin_mul]
@@ -90,11 +124,23 @@ theorem rank_mul_le_right [StrongRankCondition R] (A : Matrix l m R) (B : Matrix
 
 omit m_fin
 
+/- warning: matrix.rank_mul_le -> Matrix.rank_mul_le is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {o : Type.{u3}} {R : Type.{u4}} [_inst_1 : Fintype.{u2} n] [_inst_2 : Fintype.{u3} o] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))] (A : Matrix.{u1, u2, u4} m n R) (B : Matrix.{u2, u3, u4} n o R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u1, u3, u4} m o R _inst_2 _inst_3 (Matrix.mul.{u4, u1, u2, u3} m n o R _inst_1 (Distrib.toHasMul.{u4} R (Ring.toDistrib.{u4} R (CommRing.toRing.{u4} R _inst_3))) (AddCommGroup.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toAddCommGroup.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (LinearOrder.min.{0} Nat Nat.linearOrder (Matrix.rank.{u1, u2, u4} m n R _inst_1 _inst_3 A) (Matrix.rank.{u2, u3, u4} n o R _inst_2 _inst_3 B))
+but is expected to have type
+  forall {m : Type.{u3}} {n : Type.{u2}} {o : Type.{u1}} {R : Type.{u4}} [_inst_1 : Fintype.{u2} n] [_inst_2 : Fintype.{u1} o] [_inst_3 : CommRing.{u4} R] [_inst_4 : StrongRankCondition.{u4} R (Ring.toSemiring.{u4} R (CommRing.toRing.{u4} R _inst_3))] (A : Matrix.{u3, u2, u4} m n R) (B : Matrix.{u2, u1, u4} n o R), LE.le.{0} Nat instLENat (Matrix.rank.{u3, u1, u4} m o R _inst_2 _inst_3 (Matrix.mul.{u4, u3, u2, u1} m n o R _inst_1 (NonUnitalNonAssocRing.toMul.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u4} R (NonAssocRing.toNonUnitalNonAssocRing.{u4} R (Ring.toNonAssocRing.{u4} R (CommRing.toRing.{u4} R _inst_3))))) A B)) (Min.min.{0} Nat instMinNat (Matrix.rank.{u3, u2, u4} m n R _inst_1 _inst_3 A) (Matrix.rank.{u2, u1, u4} n o R _inst_2 _inst_3 B))
+Case conversion may be inaccurate. Consider using '#align matrix.rank_mul_le Matrix.rank_mul_leₓ'. -/
 theorem rank_mul_le [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
     (A ⬝ B).rank ≤ min A.rank B.rank :=
   le_min (rank_mul_le_left _ _) (rank_mul_le_right _ _)
 #align matrix.rank_mul_le Matrix.rank_mul_le
 
+/- warning: matrix.rank_unit -> Matrix.rank_unit is a dubious translation:
+lean 3 declaration is
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n] (A : Units.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3)))), Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 ((fun (a : Type.{max u1 u2}) (b : Type.{max u1 u2}) [self : HasLiftT.{succ (max u1 u2), succ (max u1 u2)} a b] => self.0) (Units.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3)))) (Matrix.{u1, u1, u2} n n R) (HasLiftT.mk.{succ (max u1 u2), succ (max u1 u2)} (Units.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3)))) (Matrix.{u1, u1, u2} n n R) (CoeTCₓ.coe.{succ (max u1 u2), succ (max u1 u2)} (Units.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3)))) (Matrix.{u1, u1, u2} n n R) (coeBase.{succ (max u1 u2), succ (max u1 u2)} (Units.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3)))) (Matrix.{u1, u1, u2} n n R) (Units.hasCoe.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3))))))) A)) (Fintype.card.{u1} n _inst_1)
+but is expected to have type
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n] (A : Units.{max u2 u1} (Matrix.{u1, u1, u2} n n R) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.semiring.{u2, u1} n R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) _inst_1 (fun (a : n) (b : n) => _inst_5 a b))))), Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 (Units.val.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.semiring.{u2, u1} n R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) _inst_1 (fun (a : n) (b : n) => _inst_5 a b)))) A)) (Fintype.card.{u1} n _inst_1)
+Case conversion may be inaccurate. Consider using '#align matrix.rank_unit Matrix.rank_unitₓ'. -/
 theorem rank_unit [StrongRankCondition R] [DecidableEq n] (A : (Matrix n n R)ˣ) :
     (A : Matrix n n R).rank = Fintype.card n :=
   by
@@ -103,12 +149,24 @@ theorem rank_unit [StrongRankCondition R] [DecidableEq n] (A : (Matrix n n R)ˣ)
   rwa [← mul_eq_mul, ← Units.val_mul, mul_inv_self, Units.val_one, rank_one] at this
 #align matrix.rank_unit Matrix.rank_unit
 
+/- warning: matrix.rank_of_is_unit -> Matrix.rank_of_isUnit is a dubious translation:
+lean 3 declaration is
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n] (A : Matrix.{u1, u1, u2} n n R), (IsUnit.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Ring.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.ring.{u2, u1} n R _inst_1 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toRing.{u2} R _inst_3))) A) -> (Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 A) (Fintype.card.{u1} n _inst_1))
+but is expected to have type
+  forall {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : StrongRankCondition.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3))] [_inst_5 : DecidableEq.{succ u1} n] (A : Matrix.{u1, u1, u2} n n R), (IsUnit.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (MonoidWithZero.toMonoid.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Semiring.toMonoidWithZero.{max u1 u2} (Matrix.{u1, u1, u2} n n R) (Matrix.semiring.{u2, u1} n R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) _inst_1 (fun (a : n) (b : n) => _inst_5 a b)))) A) -> (Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 A) (Fintype.card.{u1} n _inst_1))
+Case conversion may be inaccurate. Consider using '#align matrix.rank_of_is_unit Matrix.rank_of_isUnitₓ'. -/
 theorem rank_of_isUnit [StrongRankCondition R] [DecidableEq n] (A : Matrix n n R) (h : IsUnit A) :
     A.rank = Fintype.card n := by
   obtain ⟨A, rfl⟩ := h
   exact rank_unit A
 #align matrix.rank_of_is_unit Matrix.rank_of_isUnit
 
+/- warning: matrix.rank_submatrix_le -> Matrix.rank_submatrix_le is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))] [_inst_5 : Fintype.{u1} m] (f : n -> m) (e : Equiv.{succ u2, succ u1} n m) (A : Matrix.{u1, u1, u3} m m R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u2, u2, u3} n n R _inst_1 _inst_3 (Matrix.submatrix.{u3, u2, u1, u1, u2} n m m n R A f (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} n m) (fun (_x : Equiv.{succ u2, succ u1} n m) => n -> m) (Equiv.hasCoeToFun.{succ u2, succ u1} n m) e))) (Matrix.rank.{u1, u1, u3} m m R _inst_5 _inst_3 A)
+but is expected to have type
+  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))] [_inst_5 : Fintype.{u2} m] (f : n -> m) (e : Equiv.{succ u1, succ u2} n m) (A : Matrix.{u2, u2, u3} m m R), LE.le.{0} Nat instLENat (Matrix.rank.{u1, u1, u3} n n R _inst_1 _inst_3 (Matrix.submatrix.{u3, u1, u2, u2, u1} n m m n R A f (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (Equiv.{succ u1, succ u2} n m) n (fun (_x : n) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : n) => m) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u2} n m) e))) (Matrix.rank.{u2, u2, u3} m m R _inst_5 _inst_3 A)
+Case conversion may be inaccurate. Consider using '#align matrix.rank_submatrix_le Matrix.rank_submatrix_leₓ'. -/
 /-- Taking a subset of the rows and permuting the columns reduces the rank. -/
 theorem rank_submatrix_le [StrongRankCondition R] [Fintype m] (f : n → m) (e : n ≃ m)
     (A : Matrix m m R) : rank (A.submatrix f e) ≤ rank A :=
@@ -119,12 +177,24 @@ theorem rank_submatrix_le [StrongRankCondition R] [Fintype m] (f : n → m) (e :
   exact Submodule.finrank_map_le _ _
 #align matrix.rank_submatrix_le Matrix.rank_submatrix_le
 
+/- warning: matrix.rank_reindex -> Matrix.rank_reindex is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : Fintype.{u1} m] (e₁ : Equiv.{succ u1, succ u2} m n) (e₂ : Equiv.{succ u1, succ u2} m n) (A : Matrix.{u1, u1, u3} m m R), Eq.{1} Nat (Matrix.rank.{u2, u2, u3} n n R _inst_1 _inst_3 (coeFn.{max 1 (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u2 u3)) (succ (max u1 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (Equiv.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) (fun (_x : Equiv.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (Equiv.hasCoeToFun.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) (Matrix.reindex.{u3, u2, u1, u1, u2} n m m n R e₁ e₂) A)) (Matrix.rank.{u1, u1, u3} m m R _inst_4 _inst_3 A)
+but is expected to have type
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u1} R] [_inst_4 : Fintype.{u3} m] (e₁ : Equiv.{succ u3, succ u2} m n) (e₂ : Equiv.{succ u3, succ u2} m n) (A : Matrix.{u3, u3, u1} m m R), Eq.{1} Nat (Matrix.rank.{u2, u2, u1} n n R _inst_1 _inst_3 (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u2)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.{u3, u3, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.reindex.{u1, u2, u3, u3, u2} n m m n R e₁ e₂) A)) (Matrix.rank.{u3, u3, u1} m m R _inst_4 _inst_3 A)
+Case conversion may be inaccurate. Consider using '#align matrix.rank_reindex Matrix.rank_reindexₓ'. -/
 theorem rank_reindex [Fintype m] (e₁ e₂ : m ≃ n) (A : Matrix m m R) :
     rank (reindex e₁ e₂ A) = rank A := by
   rw [rank, rank, mul_vec_lin_reindex, LinearMap.range_comp, LinearMap.range_comp,
     LinearEquiv.range, Submodule.map_top, LinearEquiv.finrank_map_eq]
 #align matrix.rank_reindex Matrix.rank_reindex
 
+/- warning: matrix.rank_submatrix -> Matrix.rank_submatrix is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : Fintype.{u1} m] (A : Matrix.{u1, u1, u3} m m R) (e₁ : Equiv.{succ u2, succ u1} n m) (e₂ : Equiv.{succ u2, succ u1} n m), Eq.{1} Nat (Matrix.rank.{u2, u2, u3} n n R _inst_1 _inst_3 (Matrix.submatrix.{u3, u2, u1, u1, u2} n m m n R A (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} n m) (fun (_x : Equiv.{succ u2, succ u1} n m) => n -> m) (Equiv.hasCoeToFun.{succ u2, succ u1} n m) e₁) (coeFn.{max 1 (max (succ u2) (succ u1)) (succ u1) (succ u2), max (succ u2) (succ u1)} (Equiv.{succ u2, succ u1} n m) (fun (_x : Equiv.{succ u2, succ u1} n m) => n -> m) (Equiv.hasCoeToFun.{succ u2, succ u1} n m) e₂))) (Matrix.rank.{u1, u1, u3} m m R _inst_4 _inst_3 A)
+but is expected to have type
+  forall {m : Type.{u3}} {n : Type.{u1}} {R : Type.{u2}} [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : Fintype.{u3} m] (A : Matrix.{u3, u3, u2} m m R) (e₁ : Equiv.{succ u1, succ u3} n m) (e₂ : Equiv.{succ u1, succ u3} n m), Eq.{1} Nat (Matrix.rank.{u1, u1, u2} n n R _inst_1 _inst_3 (Matrix.submatrix.{u2, u1, u3, u3, u1} n m m n R A (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} n m) n (fun (_x : n) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : n) => m) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u3} n m) e₁) (FunLike.coe.{max (succ u3) (succ u1), succ u1, succ u3} (Equiv.{succ u1, succ u3} n m) n (fun (_x : n) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : n) => m) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u3} n m) e₂))) (Matrix.rank.{u3, u3, u2} m m R _inst_4 _inst_3 A)
+Case conversion may be inaccurate. Consider using '#align matrix.rank_submatrix Matrix.rank_submatrixₓ'. -/
 @[simp]
 theorem rank_submatrix [Fintype m] (A : Matrix m m R) (e₁ e₂ : n ≃ m) :
     rank (A.submatrix e₁ e₂) = rank A := by
@@ -133,6 +203,12 @@ theorem rank_submatrix [Fintype m] (A : Matrix m m R) (e₁ e₂ : n ≃ m) :
 
 include m_fin
 
+/- warning: matrix.rank_eq_finrank_range_to_lin -> Matrix.rank_eq_finrank_range_toLin is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [m_fin : Fintype.{u1} m] [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : DecidableEq.{succ u2} n] {M₁ : Type.{u4}} {M₂ : Type.{u5}} [_inst_5 : AddCommGroup.{u4} M₁] [_inst_6 : AddCommGroup.{u5} M₂] [_inst_7 : Module.{u3, u4} R M₁ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5)] [_inst_8 : Module.{u3, u5} R M₂ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6)] (A : Matrix.{u1, u2, u3} m n R) (v₁ : Basis.{u1, u3, u4} m R M₁ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (v₂ : Basis.{u2, u3, u5} n R M₂ (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) _inst_8), Eq.{1} Nat (Matrix.rank.{u1, u2, u3} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u3, u4} R (coeSort.{succ u4, succ (succ u4)} (Submodule.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) Type.{u4} (SetLike.hasCoeToSort.{u4, u4} (Submodule.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) M₁ (Submodule.setLike.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (LinearMap.range.{u3, u3, u5, u4, max u5 u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.semilinearMapClass.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (RingHomSurjective.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max u5 u4)), max (succ (max u1 u2 u3)) (succ (max u5 u4))} (LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) (fun (_x : LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) => (Matrix.{u1, u2, u3} m n R) -> (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u2 u3, max u5 u4} R R (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (Matrix.toLin.{u3, u1, u2, u5, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Submodule.addCommGroup.{u3, u4} R M₁ (CommRing.toRing.{u3} R _inst_3) _inst_5 _inst_7 (LinearMap.range.{u3, u3, u5, u4, max u5 u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.semilinearMapClass.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (RingHomSurjective.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max u5 u4)), max (succ (max u1 u2 u3)) (succ (max u5 u4))} (LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) (fun (_x : LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) => (Matrix.{u1, u2, u3} m n R) -> (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u2 u3, max u5 u4} R R (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (Matrix.toLin.{u3, u1, u2, u5, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Submodule.module.{u3, u4} R M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7 (LinearMap.range.{u3, u3, u5, u4, max u5 u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.semilinearMapClass.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (RingHomSurjective.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (coeFn.{max (succ (max u1 u2 u3)) (succ (max u5 u4)), max (succ (max u1 u2 u3)) (succ (max u5 u4))} (LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) (fun (_x : LinearEquiv.{u3, u3, max u1 u2 u3, max u5 u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))) => (Matrix.{u1, u2, u3} m n R) -> (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u2 u3, max u5 u4} R R (Matrix.{u1, u2, u3} m n R) (LinearMap.{u3, u3, u5, u4} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.addCommMonoid.{u3, u1, u2} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))))) (LinearMap.addCommMonoid.{u3, u3, u5, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Matrix.module.{u3, u1, u2, u3} m n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (LinearMap.module.{u3, u3, u3, u5, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) _inst_7 (Matrix.toLin._proof_3.{u3, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)))) (Matrix.toLin._proof_1.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3)) (Matrix.toLin._proof_2.{u3} R (CommRing.toCommSemiring.{u3} R _inst_3))) (Matrix.toLin.{u3, u1, u2, u5, u4} R (CommRing.toCommSemiring.{u3} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u5} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))))
+but is expected to have type
+  forall {m : Type.{u1}} {n : Type.{u5}} {R : Type.{u2}} [m_fin : Fintype.{u1} m] [_inst_1 : Fintype.{u5} n] [_inst_3 : CommRing.{u2} R] [_inst_4 : DecidableEq.{succ u5} n] {M₁ : Type.{u4}} {M₂ : Type.{u3}} [_inst_5 : AddCommGroup.{u4} M₁] [_inst_6 : AddCommGroup.{u3} M₂] [_inst_7 : Module.{u2, u4} R M₁ (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5)] [_inst_8 : Module.{u2, u3} R M₂ (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6)] (A : Matrix.{u1, u5, u2} m n R) (v₁ : Basis.{u1, u2, u4} m R M₁ (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (v₂ : Basis.{u5, u2, u3} n R M₂ (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) _inst_8), Eq.{1} Nat (Matrix.rank.{u1, u5, u2} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u2, u4} R (Subtype.{succ u4} M₁ (fun (x : M₁) => Membership.mem.{u4, u4} M₁ (Submodule.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) (SetLike.instMembership.{u4, u4} (Submodule.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7) M₁ (Submodule.setLike.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)) x (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (a : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) a) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A)))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_3)) (Submodule.addCommGroup.{u2, u4} R M₁ (CommRing.toRing.{u2} R _inst_3) _inst_5 _inst_7 (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (_x : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) _x) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))) (Submodule.module.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7 (LinearMap.range.{u2, u2, u3, u4, max u4 u3} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) A) (LinearMap.instSemilinearMapClassLinearMap.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (RingHomSurjective.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (FunLike.coe.{max (max (max (max (succ u1) (succ u5)) (succ u2)) (succ u4)) (succ u3), max (max (succ u1) (succ u5)) (succ u2), max (succ u4) (succ u3)} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (Matrix.{u1, u5, u2} m n R) (fun (_x : Matrix.{u1, u5, u2} m n R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u1, u5, u2} m n R) => LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) _x) (SMulHomClass.toFunLike.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (SMulZeroClass.toSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toZero.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (AddMonoid.toAddZeroClass.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (SMulZeroClass.toSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toZero.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribSMul.toSMulZeroClass.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddMonoid.toAddZeroClass.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (DistribMulAction.toDistribSMul.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u1 u5) u2) u4) u3, u2, max (max u1 u5) u2, max u4 u3} (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (AddCommMonoid.toAddMonoid.{max (max u1 u5) u2} (Matrix.{u1, u5, u2} m n R) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))))) (AddCommMonoid.toAddMonoid.{max u4 u3} (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Module.toDistribMulAction.{u2, max (max u1 u5) u2} R (Matrix.{u1, u5, u2} m n R) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Module.toDistribMulAction.{u2, max u4 u3} R (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (SemilinearMapClass.distribMulActionHomClass.{u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (SemilinearEquivClass.instSemilinearMapClass.{u2, u2, max (max u1 u5) u2, max u4 u3, max (max (max (max u1 u5) u2) u4) u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (LinearEquiv.{u2, u2, max (max u2 u5) u1, max u4 u3} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7))))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u2, u2, max (max u1 u5) u2, max u4 u3} R R (Matrix.{u1, u5, u2} m n R) (LinearMap.{u2, u2, u3, u4} R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (Matrix.addCommMonoid.{u2, u1, u5} m n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))) (LinearMap.addCommMonoid.{u2, u2, u3, u4} R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Matrix.module.{u2, u1, u5, u2} m n R R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))))) (Semiring.toModule.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (LinearMap.instModuleLinearMapAddCommMonoid.{u2, u2, u2, u3, u4} R R R M₂ M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) _inst_7 (smulCommClass_self.{u2, u4} R M₁ (CommSemiring.toCommMonoid.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (MulActionWithZero.toMulAction.{u2, u4} R M₁ (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (AddMonoid.toZero.{u4} M₁ (AddCommMonoid.toAddMonoid.{u4} M₁ (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5))) (Module.toMulActionWithZero.{u2, u4} R M₁ (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_7)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3))) (RingHomInvPair.ids.{u2} R (CommSemiring.toSemiring.{u2} R (CommRing.toCommSemiring.{u2} R _inst_3)))))))) (Matrix.toLin.{u2, u1, u5, u3, u4} R (CommRing.toCommSemiring.{u2} R _inst_3) m n _inst_1 m_fin (fun (a : n) (b : n) => _inst_4 a b) M₂ M₁ (AddCommGroup.toAddCommMonoid.{u3} M₂ _inst_6) (AddCommGroup.toAddCommMonoid.{u4} M₁ _inst_5) _inst_8 _inst_7 v₂ v₁) A))))
+Case conversion may be inaccurate. Consider using '#align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLinₓ'. -/
 theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCommGroup M₁]
     [AddCommGroup M₂] [Module R M₁] [Module R M₂] (A : Matrix m n R) (v₁ : Basis m R M₁)
     (v₂ : Basis n R M₂) : A.rank = finrank R (toLin v₂ v₁ A).range :=
@@ -157,6 +233,12 @@ theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCom
     LinearMap.coe_single, to_lin_self, LinearEquiv.map_sum, LinearEquiv.map_smul, Basis.equiv_apply]
 #align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLin
 
+/- warning: matrix.rank_le_card_height -> Matrix.rank_le_card_height is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [m_fin : Fintype.{u1} m] [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))] (A : Matrix.{u1, u2, u3} m n R), LE.le.{0} Nat Nat.hasLe (Matrix.rank.{u1, u2, u3} m n R _inst_1 _inst_3 A) (Fintype.card.{u1} m m_fin)
+but is expected to have type
+  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [m_fin : Fintype.{u2} m] [_inst_1 : Fintype.{u1} n] [_inst_3 : CommRing.{u3} R] [_inst_4 : StrongRankCondition.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))] (A : Matrix.{u2, u1, u3} m n R), LE.le.{0} Nat instLENat (Matrix.rank.{u2, u1, u3} m n R _inst_1 _inst_3 A) (Fintype.card.{u2} m m_fin)
+Case conversion may be inaccurate. Consider using '#align matrix.rank_le_card_height Matrix.rank_le_card_heightₓ'. -/
 theorem rank_le_card_height [StrongRankCondition R] (A : Matrix m n R) : A.rank ≤ Fintype.card m :=
   by
   haveI : Module.Finite R (m → R) := Module.Finite.pi
@@ -166,11 +248,19 @@ theorem rank_le_card_height [StrongRankCondition R] (A : Matrix m n R) : A.rank
 
 omit m_fin
 
+#print Matrix.rank_le_height /-
 theorem rank_le_height [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (Fin n) R) :
     A.rank ≤ m :=
   A.rank_le_card_height.trans <| (Fintype.card_fin m).le
 #align matrix.rank_le_height Matrix.rank_le_height
+-/
 
+/- warning: matrix.rank_eq_finrank_span_cols -> Matrix.rank_eq_finrank_span_cols is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u3} R] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u1, u2, u3} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u3, max u1 u3} R (coeSort.{succ (max u1 u3), succ (succ (max u1 u3))} (Submodule.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))))) Type.{max u1 u3} (SetLike.hasCoeToSort.{max u1 u3, max u1 u3} (Submodule.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (m -> R) (Submodule.setLike.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Submodule.span.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Set.range.{max u1 u3, succ u2} (m -> R) n (Matrix.transpose.{u3, u1, u2} m n R A)))) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Submodule.addCommGroup.{u3, max u1 u3} R (m -> R) (CommRing.toRing.{u3} R _inst_3) (Pi.addCommGroup.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Submodule.span.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Set.range.{max u1 u3, succ u2} (m -> R) n (Matrix.transpose.{u3, u1, u2} m n R A)))) (Submodule.module.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Submodule.span.{u3, max u1 u3} R (m -> R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3)))))) (Pi.Function.module.{u1, u3, u3} m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_3))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_3)))) (Set.range.{max u1 u3, succ u2} (m -> R) n (Matrix.transpose.{u3, u1, u2} m n R A)))))
+but is expected to have type
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : CommRing.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u3, u2, u1} m n R _inst_1 _inst_3 A) (FiniteDimensional.finrank.{u1, max u3 u1} R (Subtype.{succ (max u3 u1)} (m -> R) (fun (x : m -> R) => Membership.mem.{max u3 u1, max u3 u1} (m -> R) (Submodule.{u1, max u3 u1} R (m -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (SetLike.instMembership.{max u3 u1, max u3 u1} (Submodule.{u1, max u3 u1} R (m -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3))))) (m -> R) (Submodule.setLike.{u1, max u3 u1} R (m -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))))) x (Submodule.span.{u1, max u3 u1} R (m -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A))))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (Submodule.addCommGroup.{u1, max u3 u1} R (m -> R) (CommRing.toRing.{u1} R _inst_3) (Pi.addCommGroup.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => Ring.toAddCommGroup.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Submodule.span.{u1, max u3 u1} R (m -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A)))) (Submodule.module.{u1, max u3 u1} R (m -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Submodule.span.{u1, max u3 u1} R (m -> R) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_3)))))) (Algebra.toModule.{u1, max u3 u1} R (m -> R) (CommRing.toCommSemiring.{u1} R _inst_3) (Pi.semiring.{u3, u1} m (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3))) (Pi.algebra.{u3, u1, u1} m R (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : m) => R) (CommRing.toCommSemiring.{u1} R _inst_3) (fun (i : m) => Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_3)) (fun (i : m) => Algebra.id.{u1} R (CommRing.toCommSemiring.{u1} R _inst_3)))) (Set.range.{max u3 u1, succ u2} (m -> R) n (Matrix.transpose.{u1, u3, u2} m n R A)))))
+Case conversion may be inaccurate. Consider using '#align matrix.rank_eq_finrank_span_cols Matrix.rank_eq_finrank_span_colsₓ'. -/
 /-- The rank of a matrix is the rank of the space spanned by its columns. -/
 theorem rank_eq_finrank_span_cols (A : Matrix m n R) :
     A.rank = finrank R (Submodule.span R (Set.range Aᵀ)) := by rw [rank, Matrix.range_mulVecLin]
@@ -197,6 +287,12 @@ section StarOrderedField
 
 variable [Fintype m] [Field R] [PartialOrder R] [StarOrderedRing R]
 
+/- warning: matrix.ker_mul_vec_lin_conj_transpose_mul_self -> Matrix.ker_mulVecLin_conjTranspose_mul_self is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : Field.{u3} R] [_inst_5 : PartialOrder.{u3} R] [_inst_6 : StarOrderedRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5] (A : Matrix.{u1, u2, u3} m n R), Eq.{succ (max u2 u3)} (Submodule.{u3, max u2 u3} R (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.ker.{u3, u3, max u2 u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (LinearMap.{u3, u3, max u2 u3, max u2 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Matrix.mulVecLin.{u3, u2, u2} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)) n n _inst_1 (Matrix.mul.{u3, u2, u1, u2} n m n R _inst_3 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StarOrderedRing.orderedAddCommGroup.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u3, u1, u2} m n R (InvolutiveStar.toHasStar.{u3} R (StarAddMonoid.toHasInvolutiveStar.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))))))) (StarRing.toStarAddMonoid.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) (StarOrderedRing.toStarRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5 _inst_6)))) A) A))) (LinearMap.ker.{u3, u3, max u2 u3, max u1 u3, max (max u2 u3) u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (LinearMap.{u3, u3, max u2 u3, max u1 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)))))) (Matrix.mulVecLin.{u3, u1, u2} R (Semifield.toCommSemiring.{u3} R (Field.toSemifield.{u3} R _inst_4)) m n _inst_1 A))
+but is expected to have type
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u2 u1} R (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.ker.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u2, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) n n _inst_1 (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarSemigroup.toInvolutiveStar.{u1} R (SemigroupWithZero.toSemigroup.{u1} R (NonUnitalSemiring.toSemigroupWithZero.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))))) (StarRing.toStarSemigroup.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A) A))) (LinearMap.ker.{u1, u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (LinearMap.{u1, u1, max u1 u2, max u1 u3} R R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u3 u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : m) => R) R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)))))) (Matrix.mulVecLin.{u1, u3, u2} R (Semifield.toCommSemiring.{u1} R (Field.toSemifield.{u1} R _inst_4)) m n _inst_1 A))
+Case conversion may be inaccurate. Consider using '#align matrix.ker_mul_vec_lin_conj_transpose_mul_self Matrix.ker_mulVecLin_conjTranspose_mul_selfₓ'. -/
 theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
     LinearMap.ker (Aᴴ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) :=
   by
@@ -211,6 +307,12 @@ theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
     rw [h, mul_vec_zero]
 #align matrix.ker_mul_vec_lin_conj_transpose_mul_self Matrix.ker_mulVecLin_conjTranspose_mul_self
 
+/- warning: matrix.rank_conj_transpose_mul_self -> Matrix.rank_conjTranspose_mul_self is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : Field.{u3} R] [_inst_5 : PartialOrder.{u3} R] [_inst_6 : StarOrderedRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u2, u2, u3} n n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) (Matrix.mul.{u3, u2, u1, u2} n m n R _inst_3 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StarOrderedRing.orderedAddCommGroup.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u3, u1, u2} m n R (InvolutiveStar.toHasStar.{u3} R (StarAddMonoid.toHasInvolutiveStar.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))))))) (StarRing.toStarAddMonoid.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) (StarOrderedRing.toStarRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5 _inst_6)))) A) A)) (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) A)
+but is expected to have type
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u2, u2, u1} n n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarAddMonoid.toInvolutiveStar.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (Ring.toAddGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (StarRing.toStarAddMonoid.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A) A)) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) A)
+Case conversion may be inaccurate. Consider using '#align matrix.rank_conj_transpose_mul_self Matrix.rank_conjTranspose_mul_selfₓ'. -/
 theorem rank_conjTranspose_mul_self (A : Matrix m n R) : (Aᴴ ⬝ A).rank = A.rank :=
   by
   dsimp only [rank]
@@ -221,6 +323,12 @@ theorem rank_conjTranspose_mul_self (A : Matrix m n R) : (Aᴴ ⬝ A).rank = A.r
   rw [ker_mul_vec_lin_conj_transpose_mul_self]
 #align matrix.rank_conj_transpose_mul_self Matrix.rank_conjTranspose_mul_self
 
+/- warning: matrix.rank_conj_transpose -> Matrix.rank_conjTranspose is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : Field.{u3} R] [_inst_5 : PartialOrder.{u3} R] [_inst_6 : StarOrderedRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u2, u1, u3} n m R _inst_3 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) (Matrix.conjTranspose.{u3, u1, u2} m n R (InvolutiveStar.toHasStar.{u3} R (StarAddMonoid.toHasInvolutiveStar.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))))))) (StarRing.toStarAddMonoid.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) (StarOrderedRing.toStarRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5 _inst_6)))) A)) (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) A)
+but is expected to have type
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u2, u3, u1} n m R _inst_3 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarAddMonoid.toInvolutiveStar.{u1} R (AddMonoidWithOne.toAddMonoid.{u1} R (AddGroupWithOne.toAddMonoidWithOne.{u1} R (Ring.toAddGroupWithOne.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (StarRing.toStarAddMonoid.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A)) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) A)
+Case conversion may be inaccurate. Consider using '#align matrix.rank_conj_transpose Matrix.rank_conjTransposeₓ'. -/
 -- this follows the proof here https://math.stackexchange.com/a/81903/1896
 /-- TODO: prove this in greater generality. -/
 @[simp]
@@ -231,6 +339,12 @@ theorem rank_conjTranspose (A : Matrix m n R) : Aᴴ.rank = A.rank :=
     ((rank_conjTranspose_mul_self _).symm.trans_le <| rank_mul_le_left _ _)
 #align matrix.rank_conj_transpose Matrix.rank_conjTranspose
 
+/- warning: matrix.rank_self_mul_conj_transpose -> Matrix.rank_self_mul_conjTranspose is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : Field.{u3} R] [_inst_5 : PartialOrder.{u3} R] [_inst_6 : StarOrderedRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u1, u1, u3} m m R _inst_3 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) (Matrix.mul.{u3, u1, u2, u1} m n m R _inst_1 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R _inst_4)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StarOrderedRing.orderedAddCommGroup.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))) _inst_5 _inst_6))) A (Matrix.conjTranspose.{u3, u1, u2} m n R (InvolutiveStar.toHasStar.{u3} R (StarAddMonoid.toHasInvolutiveStar.{u3} R (AddCommMonoid.toAddMonoid.{u3} R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalSemiring.toNonUnitalNonAssocSemiring.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)))))))) (StarRing.toStarAddMonoid.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) (StarOrderedRing.toStarRing.{u3} R (NonUnitalRing.toNonUnitalSemiring.{u3} R (NonUnitalCommRing.toNonUnitalRing.{u3} R (CommRing.toNonUnitalCommRing.{u3} R (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4))))) _inst_5 _inst_6)))) A))) (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R _inst_4)) A)
+but is expected to have type
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : Field.{u1} R] [_inst_5 : PartialOrder.{u1} R] [_inst_6 : StarOrderedRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u3, u3, u1} m m R _inst_3 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) (Matrix.mul.{u1, u3, u2, u3} m n m R _inst_1 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (DivisionRing.toRing.{u1} R (Field.toDivisionRing.{u1} R _inst_4))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} R (StarOrderedRing.instOrderedAddCommGroup.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)))) _inst_5 _inst_6))) A (Matrix.conjTranspose.{u1, u3, u2} m n R (InvolutiveStar.toStar.{u1} R (StarSemigroup.toInvolutiveStar.{u1} R (SemigroupWithZero.toSemigroup.{u1} R (NonUnitalSemiring.toSemigroupWithZero.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))))) (StarRing.toStarSemigroup.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) (StarOrderedRing.toStarRing.{u1} R (NonUnitalRing.toNonUnitalSemiring.{u1} R (NonUnitalCommRing.toNonUnitalRing.{u1} R (CommRing.toNonUnitalCommRing.{u1} R (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4))))) _inst_5 _inst_6)))) A))) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R _inst_4)) A)
+Case conversion may be inaccurate. Consider using '#align matrix.rank_self_mul_conj_transpose Matrix.rank_self_mul_conjTransposeₓ'. -/
 @[simp]
 theorem rank_self_mul_conjTranspose (A : Matrix m n R) : (A ⬝ Aᴴ).rank = A.rank := by
   simpa only [rank_conj_transpose, conj_transpose_conj_transpose] using
@@ -243,6 +357,12 @@ section LinearOrderedField
 
 variable [Fintype m] [LinearOrderedField R]
 
+/- warning: matrix.ker_mul_vec_lin_transpose_mul_self -> Matrix.ker_mulVecLin_transpose_mul_self is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : LinearOrderedField.{u3} R] (A : Matrix.{u1, u2, u3} m n R), Eq.{succ (max u2 u3)} (Submodule.{u3, max u2 u3} R (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (LinearMap.ker.{u3, u3, max u2 u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (LinearMap.{u3, u3, max u2 u3, max u2 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u2 u3} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Matrix.mulVecLin.{u3, u2, u2} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))) n n _inst_1 (Matrix.mul.{u3, u2, u1, u2} n m n R _inst_3 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_4)))))) (Matrix.transpose.{u3, u1, u2} m n R A) A))) (LinearMap.ker.{u3, u3, max u2 u3, max u1 u3, max (max u2 u3) u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (LinearMap.{u3, u3, max u2 u3, max u1 u3} R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (LinearMap.semilinearMapClass.{u3, u3, max u2 u3, max u1 u3} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.addCommMonoid.{u1, u3} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))))) (Pi.Function.module.{u2, u3, u3} n R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (Pi.Function.module.{u1, u3, u3} m R R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4)))))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))))))) (Matrix.mulVecLin.{u3, u1, u2} R (Semifield.toCommSemiring.{u3} R (LinearOrderedSemifield.toSemifield.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_4))) m n _inst_1 A))
+but is expected to have type
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : LinearOrderedField.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{max (succ u2) (succ u1)} (Submodule.{u1, max u2 u1} R (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.ker.{u1, u1, max u2 u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (LinearMap.{u1, u1, max u1 u2, max u1 u2} R R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (n -> R) (n -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u2 u1} R R (n -> R) (n -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (Matrix.mulVecLin.{u1, u2, u2} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))) n n _inst_1 (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_4))))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))) (Matrix.transpose.{u1, u3, u2} m n R A) A))) (LinearMap.ker.{u1, u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (LinearMap.{u1, u1, max u1 u2, max u1 u3} R R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (n -> R) (m -> R) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (LinearMap.instSemilinearMapClassLinearMap.{u1, u1, max u2 u1, max u3 u1} R R (n -> R) (m -> R) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (Pi.addCommMonoid.{u2, u1} n (fun (ᾰ : n) => R) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.addCommMonoid.{u3, u1} m (fun (ᾰ : m) => R) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))))) (Pi.module.{u2, u1, u1} n (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1179 : n) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : n) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : n) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (Pi.module.{u3, u1, u1} m (fun (a._@.Mathlib.LinearAlgebra.Matrix.ToLin._hyg.1182 : m) => R) R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))) (fun (i : m) => NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (fun (i : m) => Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4))))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))))) (Matrix.mulVecLin.{u1, u3, u2} R (StrictOrderedCommSemiring.toCommSemiring.{u1} R (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))) m n _inst_1 A))
+Case conversion may be inaccurate. Consider using '#align matrix.ker_mul_vec_lin_transpose_mul_self Matrix.ker_mulVecLin_transpose_mul_selfₓ'. -/
 theorem ker_mulVecLin_transpose_mul_self (A : Matrix m n R) :
     LinearMap.ker (Aᵀ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) :=
   by
@@ -256,6 +376,12 @@ theorem ker_mulVecLin_transpose_mul_self (A : Matrix m n R) :
     rw [h, mul_vec_zero]
 #align matrix.ker_mul_vec_lin_transpose_mul_self Matrix.ker_mulVecLin_transpose_mul_self
 
+/- warning: matrix.rank_transpose_mul_self -> Matrix.rank_transpose_mul_self is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : LinearOrderedField.{u3} R] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u2, u2, u3} n n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))) (Matrix.mul.{u3, u2, u1, u2} n m n R _inst_3 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_4)))))) (Matrix.transpose.{u3, u1, u2} m n R A) A)) (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))) A)
+but is expected to have type
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : LinearOrderedField.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u2, u2, u1} n n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R (LinearOrderedField.toField.{u1} R _inst_4))) (Matrix.mul.{u1, u2, u3, u2} n m n R _inst_3 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_4))))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))) (Matrix.transpose.{u1, u3, u2} m n R A) A)) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R (LinearOrderedField.toField.{u1} R _inst_4))) A)
+Case conversion may be inaccurate. Consider using '#align matrix.rank_transpose_mul_self Matrix.rank_transpose_mul_selfₓ'. -/
 theorem rank_transpose_mul_self (A : Matrix m n R) : (Aᵀ ⬝ A).rank = A.rank :=
   by
   dsimp only [rank]
@@ -266,6 +392,12 @@ theorem rank_transpose_mul_self (A : Matrix m n R) : (Aᵀ ⬝ A).rank = A.rank
   rw [ker_mul_vec_lin_transpose_mul_self]
 #align matrix.rank_transpose_mul_self Matrix.rank_transpose_mul_self
 
+/- warning: matrix.rank_transpose -> Matrix.rank_transpose is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : LinearOrderedField.{u3} R] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u2, u1, u3} n m R _inst_3 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))) (Matrix.transpose.{u3, u1, u2} m n R A)) (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))) A)
+but is expected to have type
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : LinearOrderedField.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u2, u3, u1} n m R _inst_3 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R (LinearOrderedField.toField.{u1} R _inst_4))) (Matrix.transpose.{u1, u3, u2} m n R A)) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R (LinearOrderedField.toField.{u1} R _inst_4))) A)
+Case conversion may be inaccurate. Consider using '#align matrix.rank_transpose Matrix.rank_transposeₓ'. -/
 /-- TODO: prove this in greater generality. -/
 @[simp]
 theorem rank_transpose (A : Matrix m n R) : Aᵀ.rank = A.rank :=
@@ -273,6 +405,12 @@ theorem rank_transpose (A : Matrix m n R) : Aᵀ.rank = A.rank :=
     ((rank_transpose_mul_self _).symm.trans_le <| rank_mul_le_left _ _)
 #align matrix.rank_transpose Matrix.rank_transpose
 
+/- warning: matrix.rank_self_mul_transpose -> Matrix.rank_self_mul_transpose is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : LinearOrderedField.{u3} R] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u1, u1, u3} m m R _inst_3 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))) (Matrix.mul.{u3, u1, u2, u1} m n m R _inst_1 (Distrib.toHasMul.{u3} R (Ring.toDistrib.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_4)))))) A (Matrix.transpose.{u3, u1, u2} m n R A))) (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R (LinearOrderedField.toField.{u3} R _inst_4))) A)
+but is expected to have type
+  forall {m : Type.{u3}} {n : Type.{u2}} {R : Type.{u1}} [_inst_1 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : LinearOrderedField.{u1} R] (A : Matrix.{u3, u2, u1} m n R), Eq.{1} Nat (Matrix.rank.{u3, u3, u1} m m R _inst_3 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R (LinearOrderedField.toField.{u1} R _inst_4))) (Matrix.mul.{u1, u3, u2, u3} m n m R _inst_1 (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (StrictOrderedRing.toRing.{u1} R (LinearOrderedRing.toStrictOrderedRing.{u1} R (LinearOrderedCommRing.toLinearOrderedRing.{u1} R (LinearOrderedField.toLinearOrderedCommRing.{u1} R _inst_4))))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} R (LinearOrderedField.toLinearOrderedSemifield.{u1} R _inst_4)))))) A (Matrix.transpose.{u1, u3, u2} m n R A))) (Matrix.rank.{u3, u2, u1} m n R _inst_1 (EuclideanDomain.toCommRing.{u1} R (Field.toEuclideanDomain.{u1} R (LinearOrderedField.toField.{u1} R _inst_4))) A)
+Case conversion may be inaccurate. Consider using '#align matrix.rank_self_mul_transpose Matrix.rank_self_mul_transposeₓ'. -/
 @[simp]
 theorem rank_self_mul_transpose (A : Matrix m n R) : (A ⬝ Aᵀ).rank = A.rank := by
   simpa only [rank_transpose, transpose_transpose] using rank_transpose_mul_self Aᵀ
@@ -280,6 +418,12 @@ theorem rank_self_mul_transpose (A : Matrix m n R) : (A ⬝ Aᵀ).rank = A.rank
 
 end LinearOrderedField
 
+/- warning: matrix.rank_eq_finrank_span_row -> Matrix.rank_eq_finrank_span_row is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {R : Type.{u3}} [_inst_1 : Fintype.{u2} n] [_inst_3 : LinearOrderedField.{u3} R] [_inst_4 : Finite.{succ u1} m] (A : Matrix.{u1, u2, u3} m n R), Eq.{1} Nat (Matrix.rank.{u1, u2, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R (LinearOrderedField.toField.{u3} R _inst_3))) A) (FiniteDimensional.finrank.{u3, max u2 u3} R (coeSort.{succ (max u2 u3), succ (succ (max u2 u3))} (Submodule.{u3, max u2 u3} R (n -> R) (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3))))))) (Pi.Function.module.{u2, u3, u3} n R R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3))))))) Type.{max u2 u3} (SetLike.hasCoeToSort.{max u2 u3, max u2 u3} (Submodule.{u3, max u2 u3} R (n -> R) (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3))))))) (Pi.Function.module.{u2, u3, u3} n R R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3))))))) (n -> R) (Submodule.setLike.{u3, max u2 u3} R (n -> R) (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3))))))) (Pi.Function.module.{u2, u3, u3} n R R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))))))) (Submodule.span.{u3, max u2 u3} R (n -> R) (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3))))))) (Pi.Function.module.{u2, u3, u3} n R R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))))) (Set.range.{max u2 u3, succ u1} (n -> R) m A))) (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (Submodule.addCommGroup.{u3, max u2 u3} R (n -> R) (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3))) (Pi.addCommGroup.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Pi.Function.module.{u2, u3, u3} n R R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))))) (Submodule.span.{u3, max u2 u3} R (n -> R) (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3))))))) (Pi.Function.module.{u2, u3, u3} n R R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))))) (Set.range.{max u2 u3, succ u1} (n -> R) m A))) (Submodule.module.{u3, max u2 u3} R (n -> R) (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3))))))) (Pi.Function.module.{u2, u3, u3} n R R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))))) (Submodule.span.{u3, max u2 u3} R (n -> R) (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (Pi.addCommMonoid.{u2, u3} n (fun (ᾰ : n) => R) (fun (i : n) => AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3))))))) (Pi.Function.module.{u2, u3, u3} n R R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))) (AddCommGroup.toAddCommMonoid.{u3} R (OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (DivisionRing.toRing.{u3} R (Field.toDivisionRing.{u3} R (LinearOrderedField.toField.{u3} R _inst_3)))))) (Set.range.{max u2 u3, succ u1} (n -> R) m A))))
+but is expected to have type
+  forall {m : Type.{u2}} {n : Type.{u1}} {R : Type.{u3}} [_inst_1 : Fintype.{u1} n] [_inst_3 : LinearOrderedField.{u3} R] [_inst_4 : Finite.{succ u2} m] (A : Matrix.{u2, u1, u3} m n R), Eq.{1} Nat (Matrix.rank.{u2, u1, u3} m n R _inst_1 (EuclideanDomain.toCommRing.{u3} R (Field.toEuclideanDomain.{u3} R (LinearOrderedField.toField.{u3} R _inst_3))) A) (FiniteDimensional.finrank.{u3, max u1 u3} R (Subtype.{succ (max u1 u3)} (n -> R) (fun (x : n -> R) => Membership.mem.{max u1 u3, max u1 u3} (n -> R) (Submodule.{u3, max u1 u3} R (n -> R) (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (Pi.addCommMonoid.{u1, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Pi.module.{u1, u3, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))) (fun (i : n) => Semiring.toModule.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))))) (SetLike.instMembership.{max u1 u3, max u1 u3} (Submodule.{u3, max u1 u3} R (n -> R) (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (Pi.addCommMonoid.{u1, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Pi.module.{u1, u3, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))) (fun (i : n) => Semiring.toModule.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))))) (n -> R) (Submodule.setLike.{u3, max u1 u3} R (n -> R) (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (Pi.addCommMonoid.{u1, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Pi.module.{u1, u3, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))) (fun (i : n) => Semiring.toModule.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))))) x (Submodule.span.{u3, max u1 u3} R (n -> R) (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (Pi.addCommMonoid.{u1, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Pi.module.{u1, u3, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))) (fun (i : n) => Semiring.toModule.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Set.range.{max u1 u3, succ u2} (n -> R) m A)))) (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (Submodule.addCommGroup.{u3, max u1 u3} R (n -> R) (StrictOrderedRing.toRing.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))) (Pi.addCommGroup.{u1, u3} n (fun (ᾰ : n) => R) (fun (i : n) => OrderedAddCommGroup.toAddCommGroup.{u3} R (StrictOrderedRing.toOrderedAddCommGroup.{u3} R (LinearOrderedRing.toStrictOrderedRing.{u3} R (LinearOrderedCommRing.toLinearOrderedRing.{u3} R (LinearOrderedField.toLinearOrderedCommRing.{u3} R _inst_3)))))) (Pi.module.{u1, u3, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))) (fun (i : n) => Semiring.toModule.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Submodule.span.{u3, max u1 u3} R (n -> R) (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (Pi.addCommMonoid.{u1, u3} n (fun (ᾰ : n) => R) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Pi.module.{u1, u3, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))) (fun (i : n) => Semiring.toModule.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Set.range.{max u1 u3, succ u2} (n -> R) m A))) (Submodule.module.{u3, max u1 u3} R (n -> R) (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (Pi.addCommMonoid.{u1, u3} n (fun (ᾰ : n) => R) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Pi.module.{u1, u3, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))) (fun (i : n) => Semiring.toModule.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Submodule.span.{u3, max u1 u3} R (n -> R) (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (Pi.addCommMonoid.{u1, u3} n (fun (ᾰ : n) => R) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Pi.module.{u1, u3, u3} n (fun (a._@.Mathlib.Data.Matrix.Basic._hyg.12 : n) => R) R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))) (fun (i : n) => OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} R (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3)))))) (fun (i : n) => Semiring.toModule.{u3} R (StrictOrderedSemiring.toSemiring.{u3} R (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} R (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} R (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} R (LinearOrderedField.toLinearOrderedSemifield.{u3} R _inst_3))))))) (Set.range.{max u1 u3, succ u2} (n -> R) m A))))
+Case conversion may be inaccurate. Consider using '#align matrix.rank_eq_finrank_span_row Matrix.rank_eq_finrank_span_rowₓ'. -/
 /-- The rank of a matrix is the rank of the space spanned by its rows.
 
 TODO: prove this in a generality that works for `ℂ` too, not just `ℚ` and `ℝ`. -/
Diff
@@ -1,15 +1,18 @@
 /-
 Copyright (c) 2021 Johan Commelin. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
-Authors: Johan Commelin
+Authors: Johan Commelin, Eric Wieer
 
 ! This file was ported from Lean 3 source module data.matrix.rank
-! leanprover-community/mathlib commit 0e2aab2b0d521f060f62a14d2cf2e2c54e8491d6
+! leanprover-community/mathlib commit 17219820a8aa8abe85adf5dfde19af1dd1bd8ae7
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
 import Mathbin.LinearAlgebra.FreeModule.Finite.Rank
 import Mathbin.LinearAlgebra.Matrix.ToLin
+import Mathbin.LinearAlgebra.FiniteDimensional
+import Mathbin.LinearAlgebra.Matrix.DotProduct
+import Mathbin.Data.Complex.Module
 
 /-!
 # Rank of matrices
@@ -23,7 +26,9 @@ This definition does not depend on the choice of basis, see `matrix.rank_eq_finr
 
 ## TODO
 
-* Show that `matrix.rank` is equal to the row-rank, and that `rank Aᵀ = rank A`.
+* Do a better job of generalizing over `ℚ`, `ℝ`, and `ℂ` in `matrix.rank_transpose` and
+  `matrix.rank_conj_transpose`. See
+  [this Zulip thread](https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/row.20rank.20equals.20column.20rank/near/350462992).
 
 -/
 
@@ -36,6 +41,8 @@ open FiniteDimensional
 
 variable {l m n o R : Type _} [m_fin : Fintype m] [Fintype n] [Fintype o]
 
+section CommRing
+
 variable [CommRing R]
 
 /-- The rank of a matrix is the rank of its image. -/
@@ -109,8 +116,7 @@ theorem rank_submatrix_le [StrongRankCondition R] [Fintype m] (f : n → m) (e :
   rw [rank, rank, mul_vec_lin_submatrix, LinearMap.range_comp, LinearMap.range_comp,
     show LinearMap.funLeft R R e.symm = LinearEquiv.funCongrLeft R R e.symm from rfl,
     LinearEquiv.range, Submodule.map_top]
-  -- TODO: generalize `finite_dimensional.finrank_map_le` and use it here
-  exact finrank_le_finrank_of_rank_le_rank (lift_rank_map_le _ _) (rank_lt_aleph_0 _ _)
+  exact Submodule.finrank_map_le _ _
 #align matrix.rank_submatrix_le Matrix.rank_submatrix_le
 
 theorem rank_reindex [Fintype m] (e₁ e₂ : m ≃ n) (A : Matrix m m R) :
@@ -170,5 +176,119 @@ theorem rank_eq_finrank_span_cols (A : Matrix m n R) :
     A.rank = finrank R (Submodule.span R (Set.range Aᵀ)) := by rw [rank, Matrix.range_mulVecLin]
 #align matrix.rank_eq_finrank_span_cols Matrix.rank_eq_finrank_span_cols
 
+end CommRing
+
+/-! ### Lemmas about transpose and conjugate transpose
+
+This section contains lemmas about the rank of `matrix.transpose` and `matrix.conj_transpose`.
+
+Unfortunately the proofs are essentially duplicated between the two; `ℚ` is a linearly-ordered ring
+but can't be a star-ordered ring, while `ℂ` is star-ordered (with `open_locale complex_order`) but
+not linearly ordered. For now we don't prove the transpose case for `ℂ`.
+
+TODO: the lemmas `matrix.rank_transpose` and `matrix.rank_conj_transpose` current follow a short
+proof that is a simple consequence of `matrix.rank_transpose_mul_self` and
+`matrix.rank_conj_transpose_mul_self`. This proof pulls in unecessary assumptions on `R`, and should
+be replaced with a proof that uses Gaussian reduction or argues via linear combinations.
+-/
+
+
+section StarOrderedField
+
+variable [Fintype m] [Field R] [PartialOrder R] [StarOrderedRing R]
+
+theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
+    LinearMap.ker (Aᴴ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) :=
+  by
+  ext x
+  simp only [LinearMap.mem_ker, mul_vec_lin_apply, ← mul_vec_mul_vec]
+  constructor
+  · intro h
+    replace h := congr_arg (dot_product (star x)) h
+    rwa [dot_product_mul_vec, dot_product_zero, vec_mul_conj_transpose, star_star,
+      dot_product_star_self_eq_zero] at h
+  · intro h
+    rw [h, mul_vec_zero]
+#align matrix.ker_mul_vec_lin_conj_transpose_mul_self Matrix.ker_mulVecLin_conjTranspose_mul_self
+
+theorem rank_conjTranspose_mul_self (A : Matrix m n R) : (Aᴴ ⬝ A).rank = A.rank :=
+  by
+  dsimp only [rank]
+  refine' add_left_injective (finrank R A.mul_vec_lin.ker) _
+  dsimp only
+  rw [LinearMap.finrank_range_add_finrank_ker, ← (Aᴴ ⬝ A).mulVecLin.finrank_range_add_finrank_ker]
+  congr 1
+  rw [ker_mul_vec_lin_conj_transpose_mul_self]
+#align matrix.rank_conj_transpose_mul_self Matrix.rank_conjTranspose_mul_self
+
+-- this follows the proof here https://math.stackexchange.com/a/81903/1896
+/-- TODO: prove this in greater generality. -/
+@[simp]
+theorem rank_conjTranspose (A : Matrix m n R) : Aᴴ.rank = A.rank :=
+  le_antisymm
+    (((rank_conjTranspose_mul_self _).symm.trans_le <| rank_mul_le_left _ _).trans_eq <|
+      congr_arg _ <| conjTranspose_conjTranspose _)
+    ((rank_conjTranspose_mul_self _).symm.trans_le <| rank_mul_le_left _ _)
+#align matrix.rank_conj_transpose Matrix.rank_conjTranspose
+
+@[simp]
+theorem rank_self_mul_conjTranspose (A : Matrix m n R) : (A ⬝ Aᴴ).rank = A.rank := by
+  simpa only [rank_conj_transpose, conj_transpose_conj_transpose] using
+    rank_conj_transpose_mul_self Aᴴ
+#align matrix.rank_self_mul_conj_transpose Matrix.rank_self_mul_conjTranspose
+
+end StarOrderedField
+
+section LinearOrderedField
+
+variable [Fintype m] [LinearOrderedField R]
+
+theorem ker_mulVecLin_transpose_mul_self (A : Matrix m n R) :
+    LinearMap.ker (Aᵀ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) :=
+  by
+  ext x
+  simp only [LinearMap.mem_ker, mul_vec_lin_apply, ← mul_vec_mul_vec]
+  constructor
+  · intro h
+    replace h := congr_arg (dot_product x) h
+    rwa [dot_product_mul_vec, dot_product_zero, vec_mul_transpose, dot_product_self_eq_zero] at h
+  · intro h
+    rw [h, mul_vec_zero]
+#align matrix.ker_mul_vec_lin_transpose_mul_self Matrix.ker_mulVecLin_transpose_mul_self
+
+theorem rank_transpose_mul_self (A : Matrix m n R) : (Aᵀ ⬝ A).rank = A.rank :=
+  by
+  dsimp only [rank]
+  refine' add_left_injective (finrank R A.mul_vec_lin.ker) _
+  dsimp only
+  rw [LinearMap.finrank_range_add_finrank_ker, ← (Aᵀ ⬝ A).mulVecLin.finrank_range_add_finrank_ker]
+  congr 1
+  rw [ker_mul_vec_lin_transpose_mul_self]
+#align matrix.rank_transpose_mul_self Matrix.rank_transpose_mul_self
+
+/-- TODO: prove this in greater generality. -/
+@[simp]
+theorem rank_transpose (A : Matrix m n R) : Aᵀ.rank = A.rank :=
+  le_antisymm ((rank_transpose_mul_self _).symm.trans_le <| rank_mul_le_left _ _)
+    ((rank_transpose_mul_self _).symm.trans_le <| rank_mul_le_left _ _)
+#align matrix.rank_transpose Matrix.rank_transpose
+
+@[simp]
+theorem rank_self_mul_transpose (A : Matrix m n R) : (A ⬝ Aᵀ).rank = A.rank := by
+  simpa only [rank_transpose, transpose_transpose] using rank_transpose_mul_self Aᵀ
+#align matrix.rank_self_mul_transpose Matrix.rank_self_mul_transpose
+
+end LinearOrderedField
+
+/-- The rank of a matrix is the rank of the space spanned by its rows.
+
+TODO: prove this in a generality that works for `ℂ` too, not just `ℚ` and `ℝ`. -/
+theorem rank_eq_finrank_span_row [LinearOrderedField R] [Finite m] (A : Matrix m n R) :
+    A.rank = finrank R (Submodule.span R (Set.range A)) :=
+  by
+  cases nonempty_fintype m
+  rw [← rank_transpose, rank_eq_finrank_span_cols, transpose_transpose]
+#align matrix.rank_eq_finrank_span_row Matrix.rank_eq_finrank_span_row
+
 end Matrix
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin
 
 ! This file was ported from Lean 3 source module data.matrix.rank
-! leanprover-community/mathlib commit 86add5ce96b35c2cc6ee6946ab458e7302584e21
+! leanprover-community/mathlib commit 0e2aab2b0d521f060f62a14d2cf2e2c54e8491d6
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -102,6 +102,29 @@ theorem rank_of_isUnit [StrongRankCondition R] [DecidableEq n] (A : Matrix n n R
   exact rank_unit A
 #align matrix.rank_of_is_unit Matrix.rank_of_isUnit
 
+/-- Taking a subset of the rows and permuting the columns reduces the rank. -/
+theorem rank_submatrix_le [StrongRankCondition R] [Fintype m] (f : n → m) (e : n ≃ m)
+    (A : Matrix m m R) : rank (A.submatrix f e) ≤ rank A :=
+  by
+  rw [rank, rank, mul_vec_lin_submatrix, LinearMap.range_comp, LinearMap.range_comp,
+    show LinearMap.funLeft R R e.symm = LinearEquiv.funCongrLeft R R e.symm from rfl,
+    LinearEquiv.range, Submodule.map_top]
+  -- TODO: generalize `finite_dimensional.finrank_map_le` and use it here
+  exact finrank_le_finrank_of_rank_le_rank (lift_rank_map_le _ _) (rank_lt_aleph_0 _ _)
+#align matrix.rank_submatrix_le Matrix.rank_submatrix_le
+
+theorem rank_reindex [Fintype m] (e₁ e₂ : m ≃ n) (A : Matrix m m R) :
+    rank (reindex e₁ e₂ A) = rank A := by
+  rw [rank, rank, mul_vec_lin_reindex, LinearMap.range_comp, LinearMap.range_comp,
+    LinearEquiv.range, Submodule.map_top, LinearEquiv.finrank_map_eq]
+#align matrix.rank_reindex Matrix.rank_reindex
+
+@[simp]
+theorem rank_submatrix [Fintype m] (A : Matrix m m R) (e₁ e₂ : n ≃ m) :
+    rank (A.submatrix e₁ e₂) = rank A := by
+  simpa only [reindex_apply] using rank_reindex e₁.symm e₂.symm A
+#align matrix.rank_submatrix Matrix.rank_submatrix
+
 include m_fin
 
 theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCommGroup M₁]
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin
 
 ! This file was ported from Lean 3 source module data.matrix.rank
-! leanprover-community/mathlib commit b5b5dd5a47b5744260e2c9185013075ce9dadccd
+! leanprover-community/mathlib commit 86add5ce96b35c2cc6ee6946ab458e7302584e21
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -23,7 +23,7 @@ This definition does not depend on the choice of basis, see `matrix.rank_eq_finr
 
 ## TODO
 
-* Show that `matrix.rank` is equal to the row-rank and column-rank
+* Show that `matrix.rank` is equal to the row-rank, and that `rank Aᵀ = rank A`.
 
 -/
 
@@ -34,30 +34,31 @@ namespace Matrix
 
 open FiniteDimensional
 
-variable {m n o R : Type _} [m_fin : Fintype m] [Fintype n] [Fintype o]
+variable {l m n o R : Type _} [m_fin : Fintype m] [Fintype n] [Fintype o]
 
-variable [DecidableEq n] [DecidableEq o] [CommRing R]
+variable [CommRing R]
 
 /-- The rank of a matrix is the rank of its image. -/
 noncomputable def rank (A : Matrix m n R) : ℕ :=
-  finrank R A.toLin'.range
+  finrank R A.mulVecLin.range
 #align matrix.rank Matrix.rank
 
 @[simp]
-theorem rank_one [StrongRankCondition R] : rank (1 : Matrix n n R) = Fintype.card n := by
-  rw [rank, to_lin'_one, LinearMap.range_id, finrank_top, finrank_pi]
+theorem rank_one [StrongRankCondition R] [DecidableEq n] :
+    rank (1 : Matrix n n R) = Fintype.card n := by
+  rw [rank, mul_vec_lin_one, LinearMap.range_id, finrank_top, finrank_pi]
 #align matrix.rank_one Matrix.rank_one
 
 @[simp]
 theorem rank_zero [Nontrivial R] : rank (0 : Matrix m n R) = 0 := by
-  rw [rank, LinearEquiv.map_zero, LinearMap.range_zero, finrank_bot]
+  rw [rank, mul_vec_lin_zero, LinearMap.range_zero, finrank_bot]
 #align matrix.rank_zero Matrix.rank_zero
 
 theorem rank_le_card_width [StrongRankCondition R] (A : Matrix m n R) : A.rank ≤ Fintype.card n :=
   by
   haveI : Module.Finite R (n → R) := Module.Finite.pi
   haveI : Module.Free R (n → R) := Module.Free.pi _ _
-  exact A.to_lin'.finrank_range_le.trans_eq (finrank_pi _)
+  exact A.mul_vec_lin.finrank_range_le.trans_eq (finrank_pi _)
 #align matrix.rank_le_card_width Matrix.rank_le_card_width
 
 theorem rank_le_width [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (Fin n) R) :
@@ -65,21 +66,37 @@ theorem rank_le_width [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (F
   A.rank_le_card_width.trans <| (Fintype.card_fin n).le
 #align matrix.rank_le_width Matrix.rank_le_width
 
-theorem rank_mul_le [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
+theorem rank_mul_le_left [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
     (A ⬝ B).rank ≤ A.rank := by
-  rw [rank, rank, to_lin'_mul]
+  rw [rank, rank, mul_vec_lin_mul]
   exact Cardinal.toNat_le_of_le_of_lt_aleph0 (rank_lt_aleph_0 _ _) (LinearMap.rank_comp_le_left _ _)
+#align matrix.rank_mul_le_left Matrix.rank_mul_le_left
+
+include m_fin
+
+theorem rank_mul_le_right [StrongRankCondition R] (A : Matrix l m R) (B : Matrix m n R) :
+    (A ⬝ B).rank ≤ B.rank := by
+  rw [rank, rank, mul_vec_lin_mul]
+  exact
+    finrank_le_finrank_of_rank_le_rank (LinearMap.lift_rank_comp_le_right _ _) (rank_lt_aleph_0 _ _)
+#align matrix.rank_mul_le_right Matrix.rank_mul_le_right
+
+omit m_fin
+
+theorem rank_mul_le [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
+    (A ⬝ B).rank ≤ min A.rank B.rank :=
+  le_min (rank_mul_le_left _ _) (rank_mul_le_right _ _)
 #align matrix.rank_mul_le Matrix.rank_mul_le
 
-theorem rank_unit [StrongRankCondition R] (A : (Matrix n n R)ˣ) :
+theorem rank_unit [StrongRankCondition R] [DecidableEq n] (A : (Matrix n n R)ˣ) :
     (A : Matrix n n R).rank = Fintype.card n :=
   by
   refine' le_antisymm (rank_le_card_width A) _
-  have := rank_mul_le (A : Matrix n n R) (↑A⁻¹ : Matrix n n R)
+  have := rank_mul_le_left (A : Matrix n n R) (↑A⁻¹ : Matrix n n R)
   rwa [← mul_eq_mul, ← Units.val_mul, mul_inv_self, Units.val_one, rank_one] at this
 #align matrix.rank_unit Matrix.rank_unit
 
-theorem rank_of_isUnit [StrongRankCondition R] (A : Matrix n n R) (h : IsUnit A) :
+theorem rank_of_isUnit [StrongRankCondition R] [DecidableEq n] (A : Matrix n n R) (h : IsUnit A) :
     A.rank = Fintype.card n := by
   obtain ⟨A, rfl⟩ := h
   exact rank_unit A
@@ -87,9 +104,9 @@ theorem rank_of_isUnit [StrongRankCondition R] (A : Matrix n n R) (h : IsUnit A)
 
 include m_fin
 
-theorem rank_eq_finrank_range_toLin {M₁ M₂ : Type _} [AddCommGroup M₁] [AddCommGroup M₂]
-    [Module R M₁] [Module R M₂] (A : Matrix m n R) (v₁ : Basis m R M₁) (v₂ : Basis n R M₂) :
-    A.rank = finrank R (toLin v₂ v₁ A).range :=
+theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCommGroup M₁]
+    [AddCommGroup M₂] [Module R M₁] [Module R M₂] (A : Matrix m n R) (v₁ : Basis m R M₁)
+    (v₂ : Basis n R M₂) : A.rank = finrank R (toLin v₂ v₁ A).range :=
   by
   let e₁ := (Pi.basisFun R m).Equiv v₁ (Equiv.refl _)
   let e₂ := (Pi.basisFun R n).Equiv v₂ (Equiv.refl _)
@@ -105,7 +122,7 @@ theorem rank_eq_finrank_range_toLin {M₁ M₂ : Type _} [AddCommGroup M₁] [Ad
   apply LinearMap.ext_ring
   have aux₁ := to_lin_self (Pi.basisFun R n) (Pi.basisFun R m) A i
   have aux₂ := Basis.equiv_apply (Pi.basisFun R n) i v₂
-  rw [to_lin_eq_to_lin'] at aux₁
+  rw [to_lin_eq_to_lin', to_lin'_apply'] at aux₁
   rw [Pi.basisFun_apply, LinearMap.coe_stdBasis] at aux₁ aux₂
   simp only [LinearMap.comp_apply, e₁, e₂, LinearEquiv.coe_coe, Equiv.refl_apply, aux₁, aux₂,
     LinearMap.coe_single, to_lin_self, LinearEquiv.map_sum, LinearEquiv.map_smul, Basis.equiv_apply]
@@ -125,5 +142,10 @@ theorem rank_le_height [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (
   A.rank_le_card_height.trans <| (Fintype.card_fin m).le
 #align matrix.rank_le_height Matrix.rank_le_height
 
+/-- The rank of a matrix is the rank of the space spanned by its columns. -/
+theorem rank_eq_finrank_span_cols (A : Matrix m n R) :
+    A.rank = finrank R (Submodule.span R (Set.range Aᵀ)) := by rw [rank, Matrix.range_mulVecLin]
+#align matrix.rank_eq_finrank_span_cols Matrix.rank_eq_finrank_span_cols
+
 end Matrix
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin
 
 ! This file was ported from Lean 3 source module data.matrix.rank
-! leanprover-community/mathlib commit 45ce3929e3bf9a086a216feea3b1ab6c14bf0e67
+! leanprover-community/mathlib commit b5b5dd5a47b5744260e2c9185013075ce9dadccd
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -68,11 +68,7 @@ theorem rank_le_width [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (F
 theorem rank_mul_le [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
     (A ⬝ B).rank ≤ A.rank := by
   rw [rank, rank, to_lin'_mul]
-  refine' Cardinal.toNat_le_of_le_of_lt_aleph0 _ (LinearMap.rank_comp_le_left _ _)
-  rw [← Cardinal.lift_lt_aleph0]
-  have := lift_rank_range_le A.to_lin'
-  rw [rank_fun', Cardinal.lift_natCast] at this
-  exact this.trans_lt (Cardinal.nat_lt_aleph0 (Fintype.card n))
+  exact Cardinal.toNat_le_of_le_of_lt_aleph0 (rank_lt_aleph_0 _ _) (LinearMap.rank_comp_le_left _ _)
 #align matrix.rank_mul_le Matrix.rank_mul_le
 
 theorem rank_unit [StrongRankCondition R] (A : (Matrix n n R)ˣ) :
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin
 
 ! This file was ported from Lean 3 source module data.matrix.rank
-! leanprover-community/mathlib commit 8535b76e601f11868af3e612fbecb730998a5631
+! leanprover-community/mathlib commit 45ce3929e3bf9a086a216feea3b1ab6c14bf0e67
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -68,7 +68,7 @@ theorem rank_le_width [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (F
 theorem rank_mul_le [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
     (A ⬝ B).rank ≤ A.rank := by
   rw [rank, rank, to_lin'_mul]
-  refine' Cardinal.toNat_le_of_le_of_lt_aleph0 _ (LinearMap.rank_comp_le1 _ _)
+  refine' Cardinal.toNat_le_of_le_of_lt_aleph0 _ (LinearMap.rank_comp_le_left _ _)
   rw [← Cardinal.lift_lt_aleph0]
   have := lift_rank_range_le A.to_lin'
   rw [rank_fun', Cardinal.lift_natCast] at this
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin
 
 ! This file was ported from Lean 3 source module data.matrix.rank
-! leanprover-community/mathlib commit 4cf7ca0e69e048b006674cf4499e5c7d296a89e0
+! leanprover-community/mathlib commit 8535b76e601f11868af3e612fbecb730998a5631
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -24,7 +24,6 @@ This definition does not depend on the choice of basis, see `matrix.rank_eq_finr
 ## TODO
 
 * Show that `matrix.rank` is equal to the row-rank and column-rank
-* Generalize away from fields
 
 -/
 
@@ -35,53 +34,57 @@ namespace Matrix
 
 open FiniteDimensional
 
-variable {m n o K : Type _} [m_fin : Fintype m] [Fintype n] [Fintype o]
+variable {m n o R : Type _} [m_fin : Fintype m] [Fintype n] [Fintype o]
 
-variable [DecidableEq n] [DecidableEq o] [Field K]
-
-variable (A : Matrix m n K)
+variable [DecidableEq n] [DecidableEq o] [CommRing R]
 
 /-- The rank of a matrix is the rank of its image. -/
-noncomputable def rank : ℕ :=
-  finrank K A.toLin'.range
+noncomputable def rank (A : Matrix m n R) : ℕ :=
+  finrank R A.toLin'.range
 #align matrix.rank Matrix.rank
 
 @[simp]
-theorem rank_one : rank (1 : Matrix n n K) = Fintype.card n := by
+theorem rank_one [StrongRankCondition R] : rank (1 : Matrix n n R) = Fintype.card n := by
   rw [rank, to_lin'_one, LinearMap.range_id, finrank_top, finrank_pi]
 #align matrix.rank_one Matrix.rank_one
 
 @[simp]
-theorem rank_zero : rank (0 : Matrix n n K) = 0 := by
+theorem rank_zero [Nontrivial R] : rank (0 : Matrix m n R) = 0 := by
   rw [rank, LinearEquiv.map_zero, LinearMap.range_zero, finrank_bot]
 #align matrix.rank_zero Matrix.rank_zero
 
-theorem rank_le_card_width : A.rank ≤ Fintype.card n :=
+theorem rank_le_card_width [StrongRankCondition R] (A : Matrix m n R) : A.rank ≤ Fintype.card n :=
   by
-  convert le_of_add_le_left A.to_lin'.finrank_range_add_finrank_ker.le
-  exact (finrank_pi K).symm
+  haveI : Module.Finite R (n → R) := Module.Finite.pi
+  haveI : Module.Free R (n → R) := Module.Free.pi _ _
+  exact A.to_lin'.finrank_range_le.trans_eq (finrank_pi _)
 #align matrix.rank_le_card_width Matrix.rank_le_card_width
 
-theorem rank_le_width {m n : ℕ} (A : Matrix (Fin m) (Fin n) K) : A.rank ≤ n :=
+theorem rank_le_width [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (Fin n) R) :
+    A.rank ≤ n :=
   A.rank_le_card_width.trans <| (Fintype.card_fin n).le
 #align matrix.rank_le_width Matrix.rank_le_width
 
-theorem rank_mul_le (B : Matrix n o K) : (A ⬝ B).rank ≤ A.rank :=
-  by
-  refine' LinearMap.finrank_le_finrank_of_injective (Submodule.ofLe_injective _)
-  rw [to_lin'_mul]
-  exact LinearMap.range_comp_le_range _ _
+theorem rank_mul_le [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
+    (A ⬝ B).rank ≤ A.rank := by
+  rw [rank, rank, to_lin'_mul]
+  refine' Cardinal.toNat_le_of_le_of_lt_aleph0 _ (LinearMap.rank_comp_le1 _ _)
+  rw [← Cardinal.lift_lt_aleph0]
+  have := lift_rank_range_le A.to_lin'
+  rw [rank_fun', Cardinal.lift_natCast] at this
+  exact this.trans_lt (Cardinal.nat_lt_aleph0 (Fintype.card n))
 #align matrix.rank_mul_le Matrix.rank_mul_le
 
-theorem rank_unit (A : (Matrix n n K)ˣ) : (A : Matrix n n K).rank = Fintype.card n :=
+theorem rank_unit [StrongRankCondition R] (A : (Matrix n n R)ˣ) :
+    (A : Matrix n n R).rank = Fintype.card n :=
   by
   refine' le_antisymm (rank_le_card_width A) _
-  have := rank_mul_le (A : Matrix n n K) (↑A⁻¹ : Matrix n n K)
+  have := rank_mul_le (A : Matrix n n R) (↑A⁻¹ : Matrix n n R)
   rwa [← mul_eq_mul, ← Units.val_mul, mul_inv_self, Units.val_one, rank_one] at this
 #align matrix.rank_unit Matrix.rank_unit
 
-theorem rank_of_isUnit (A : Matrix n n K) (h : IsUnit A) : A.rank = Fintype.card n :=
-  by
+theorem rank_of_isUnit [StrongRankCondition R] (A : Matrix n n R) (h : IsUnit A) :
+    A.rank = Fintype.card n := by
   obtain ⟨A, rfl⟩ := h
   exact rank_unit A
 #align matrix.rank_of_is_unit Matrix.rank_of_isUnit
@@ -89,12 +92,12 @@ theorem rank_of_isUnit (A : Matrix n n K) (h : IsUnit A) : A.rank = Fintype.card
 include m_fin
 
 theorem rank_eq_finrank_range_toLin {M₁ M₂ : Type _} [AddCommGroup M₁] [AddCommGroup M₂]
-    [Module K M₁] [Module K M₂] (v₁ : Basis m K M₁) (v₂ : Basis n K M₂) :
-    A.rank = finrank K (toLin v₂ v₁ A).range :=
+    [Module R M₁] [Module R M₂] (A : Matrix m n R) (v₁ : Basis m R M₁) (v₂ : Basis n R M₂) :
+    A.rank = finrank R (toLin v₂ v₁ A).range :=
   by
-  let e₁ := (Pi.basisFun K m).Equiv v₁ (Equiv.refl _)
-  let e₂ := (Pi.basisFun K n).Equiv v₂ (Equiv.refl _)
-  have range_e₂ : (e₂ : (n → K) →ₗ[K] M₂).range = ⊤ :=
+  let e₁ := (Pi.basisFun R m).Equiv v₁ (Equiv.refl _)
+  let e₂ := (Pi.basisFun R n).Equiv v₂ (Equiv.refl _)
+  have range_e₂ : (e₂ : (n → R) →ₗ[R] M₂).range = ⊤ :=
     by
     rw [LinearMap.range_eq_top]
     exact e₂.surjective
@@ -104,21 +107,25 @@ theorem rank_eq_finrank_range_toLin {M₁ M₂ : Type _} [AddCommGroup M₁] [Ad
   apply LinearMap.pi_ext'
   rintro i
   apply LinearMap.ext_ring
-  have aux₁ := to_lin_self (Pi.basisFun K n) (Pi.basisFun K m) A i
-  have aux₂ := Basis.equiv_apply (Pi.basisFun K n) i v₂
+  have aux₁ := to_lin_self (Pi.basisFun R n) (Pi.basisFun R m) A i
+  have aux₂ := Basis.equiv_apply (Pi.basisFun R n) i v₂
   rw [to_lin_eq_to_lin'] at aux₁
   rw [Pi.basisFun_apply, LinearMap.coe_stdBasis] at aux₁ aux₂
   simp only [LinearMap.comp_apply, e₁, e₂, LinearEquiv.coe_coe, Equiv.refl_apply, aux₁, aux₂,
     LinearMap.coe_single, to_lin_self, LinearEquiv.map_sum, LinearEquiv.map_smul, Basis.equiv_apply]
 #align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLin
 
-theorem rank_le_card_height : A.rank ≤ Fintype.card m :=
-  (Submodule.finrank_le _).trans (finrank_pi K).le
+theorem rank_le_card_height [StrongRankCondition R] (A : Matrix m n R) : A.rank ≤ Fintype.card m :=
+  by
+  haveI : Module.Finite R (m → R) := Module.Finite.pi
+  haveI : Module.Free R (m → R) := Module.Free.pi _ _
+  exact (Submodule.finrank_le _).trans (finrank_pi R).le
 #align matrix.rank_le_card_height Matrix.rank_le_card_height
 
 omit m_fin
 
-theorem rank_le_height {m n : ℕ} (A : Matrix (Fin m) (Fin n) K) : A.rank ≤ m :=
+theorem rank_le_height [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (Fin n) R) :
+    A.rank ≤ m :=
   A.rank_le_card_height.trans <| (Fintype.card_fin m).le
 #align matrix.rank_le_height Matrix.rank_le_height
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin
 
 ! This file was ported from Lean 3 source module data.matrix.rank
-! leanprover-community/mathlib commit bf2a9e0156cc11bf44893ea1b4b2da8ae655c901
+! leanprover-community/mathlib commit 4cf7ca0e69e048b006674cf4499e5c7d296a89e0
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -48,7 +48,7 @@ noncomputable def rank : ℕ :=
 
 @[simp]
 theorem rank_one : rank (1 : Matrix n n K) = Fintype.card n := by
-  rw [rank, to_lin'_one, LinearMap.range_id, finrank_top, Module.Free.finrank_pi]
+  rw [rank, to_lin'_one, LinearMap.range_id, finrank_top, finrank_pi]
 #align matrix.rank_one Matrix.rank_one
 
 @[simp]
@@ -59,7 +59,7 @@ theorem rank_zero : rank (0 : Matrix n n K) = 0 := by
 theorem rank_le_card_width : A.rank ≤ Fintype.card n :=
   by
   convert le_of_add_le_left A.to_lin'.finrank_range_add_finrank_ker.le
-  exact (Module.Free.finrank_pi K).symm
+  exact (finrank_pi K).symm
 #align matrix.rank_le_card_width Matrix.rank_le_card_width
 
 theorem rank_le_width {m n : ℕ} (A : Matrix (Fin m) (Fin n) K) : A.rank ≤ n :=
@@ -113,7 +113,7 @@ theorem rank_eq_finrank_range_toLin {M₁ M₂ : Type _} [AddCommGroup M₁] [Ad
 #align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLin
 
 theorem rank_le_card_height : A.rank ≤ Fintype.card m :=
-  (Submodule.finrank_le _).trans (Module.Free.finrank_pi K).le
+  (Submodule.finrank_le _).trans (finrank_pi K).le
 #align matrix.rank_le_card_height Matrix.rank_le_card_height
 
 omit m_fin

Changes in mathlib4

mathlib3
mathlib4
chore(Matrix/ToLin): fix Fintype/Finite (#11734)

Also drop a no longer needed [DecidableEq _] argument in 1 lemma. It was needed to generate a computable Fintype (Set.range _) instance but a Finite instance doesn't need it.

Diff
@@ -34,7 +34,7 @@ namespace Matrix
 
 open FiniteDimensional
 
-variable {l m n o R : Type*} [m_fin : Fintype m] [Fintype n] [Fintype o]
+variable {l m n o R : Type*} [Fintype n] [Fintype o]
 
 section CommRing
 
@@ -74,11 +74,11 @@ theorem rank_mul_le_left [StrongRankCondition R] (A : Matrix m n R) (B : Matrix
   exact Cardinal.toNat_le_toNat (LinearMap.rank_comp_le_left _ _) (rank_lt_aleph0 _ _)
 #align matrix.rank_mul_le_left Matrix.rank_mul_le_left
 
-theorem rank_mul_le_right [StrongRankCondition R] (A : Matrix l m R) (B : Matrix m n R) :
+theorem rank_mul_le_right [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
     (A * B).rank ≤ B.rank := by
   rw [rank, rank, mulVecLin_mul]
-  exact
-    finrank_le_finrank_of_rank_le_rank (LinearMap.lift_rank_comp_le_right _ _) (rank_lt_aleph0 _ _)
+  exact finrank_le_finrank_of_rank_le_rank (LinearMap.lift_rank_comp_le_right _ _)
+    (rank_lt_aleph0 _ _)
 #align matrix.rank_mul_le_right Matrix.rank_mul_le_right
 
 theorem rank_mul_le [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
@@ -110,7 +110,7 @@ lemma rank_mul_eq_left_of_isUnit_det [DecidableEq n]
   exact ⟨(A⁻¹).mulVecLin v, by simp [mul_nonsing_inv _ hA]⟩
 
 /-- Left multiplying by an invertible matrix does not change the rank -/
-lemma rank_mul_eq_right_of_isUnit_det [DecidableEq m]
+lemma rank_mul_eq_right_of_isUnit_det [Fintype m] [DecidableEq m]
     (A : Matrix m m R) (B : Matrix m n R) (hA : IsUnit A.det) :
     (A * B).rank = B.rank := by
   let b : Basis m R (m → R) := Pi.basisFun R m
@@ -140,9 +140,10 @@ theorem rank_submatrix [Fintype m] (A : Matrix m m R) (e₁ e₂ : n ≃ m) :
   simpa only [reindex_apply] using rank_reindex e₁.symm e₂.symm A
 #align matrix.rank_submatrix Matrix.rank_submatrix
 
-theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type*} [AddCommGroup M₁]
+theorem rank_eq_finrank_range_toLin [Finite m] [DecidableEq n] {M₁ M₂ : Type*} [AddCommGroup M₁]
     [AddCommGroup M₂] [Module R M₁] [Module R M₂] (A : Matrix m n R) (v₁ : Basis m R M₁)
     (v₂ : Basis n R M₂) : A.rank = finrank R (LinearMap.range (toLin v₂ v₁ A)) := by
+  cases nonempty_fintype m
   let e₁ := (Pi.basisFun R m).equiv v₁ (Equiv.refl _)
   let e₂ := (Pi.basisFun R n).equiv v₂ (Equiv.refl _)
   have range_e₂ : LinearMap.range e₂ = ⊤ := by
@@ -162,7 +163,7 @@ theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type*} [AddComm
     LinearMap.coe_single, toLin_self, map_sum, LinearEquiv.map_smul, Basis.equiv_apply]
 #align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLin
 
-theorem rank_le_card_height [StrongRankCondition R] (A : Matrix m n R) :
+theorem rank_le_card_height [Fintype m] [StrongRankCondition R] (A : Matrix m n R) :
     A.rank ≤ Fintype.card m := by
   haveI : Module.Finite R (m → R) := Module.Finite.pi
   haveI : Module.Free R (m → R) := Module.Free.pi _ _
@@ -186,7 +187,7 @@ section Field
 variable [Field R]
 
 /-- The rank of a diagnonal matrix is the count of non-zero elements on its main diagonal -/
-theorem rank_diagonal [DecidableEq m] [DecidableEq R] (w : m → R) :
+theorem rank_diagonal [Fintype m] [DecidableEq m] [DecidableEq R] (w : m → R) :
     (diagonal w).rank = Fintype.card {i // (w i) ≠ 0} := by
   rw [Matrix.rank, ← Matrix.toLin'_apply', FiniteDimensional.finrank, ← LinearMap.rank,
     LinearMap.rank_diagonal, Cardinal.toNat_natCast]
feat: make StarOrderedRing a mixin (#11872)

This makes StarOrderedRing take StarRing as a parameter instead of extending it, and as a result moves the typeclass to Prop. It was already a mixin with respect to the order and algebraic structure. There are two primary motivations:

  1. This makes it possible to directly assume that C(α, R) is a StarOrderedRing with [StarOrderedRing C(α, R)], as currently there is no typeclass on R which would naturally guarantee this property. This is relevant as we want this type class on continuous functions for the continuous functional calculus.
  2. We will eventually want a StarOrderedRing instance on C(α, A) where A is a complex (or even real) C⋆-algebra, and making this a mixin avoids loops with StarRing.
Diff
@@ -209,7 +209,7 @@ be replaced with a proof that uses Gaussian reduction or argues via linear combi
 
 section StarOrderedField
 
-variable [Fintype m] [Field R] [PartialOrder R] [StarOrderedRing R]
+variable [Fintype m] [Field R] [PartialOrder R] [StarRing R] [StarOrderedRing R]
 
 theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
     LinearMap.ker (Aᴴ * A).mulVecLin = LinearMap.ker (mulVecLin A) := by
chore: prepare Lean version bump with explicit simp (#10999)

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

Diff
@@ -158,7 +158,7 @@ theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type*} [AddComm
   have aux₂ := Basis.equiv_apply (Pi.basisFun R n) i v₂
   rw [toLin_eq_toLin', toLin'_apply'] at aux₁
   rw [Pi.basisFun_apply, LinearMap.coe_stdBasis] at aux₁ aux₂
-  simp only [LinearMap.comp_apply, LinearEquiv.coe_coe, Equiv.refl_apply, aux₁, aux₂,
+  simp only [e₁, e₁, LinearMap.comp_apply, LinearEquiv.coe_coe, Equiv.refl_apply, aux₁, aux₂,
     LinearMap.coe_single, toLin_self, map_sum, LinearEquiv.map_smul, Basis.equiv_apply]
 #align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLin
 
chore: remove stream-of-consciousness uses of have, replace and suffices (#10640)

No changes to tactic file, it's just boring fixes throughout the library.

This follows on from #6964.

Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -103,9 +103,9 @@ theorem rank_of_isUnit [StrongRankCondition R] [DecidableEq n] (A : Matrix n n R
 lemma rank_mul_eq_left_of_isUnit_det [DecidableEq n]
     (A : Matrix n n R) (B : Matrix m n R) (hA : IsUnit A.det) :
     (B * A).rank = B.rank := by
-  suffices : Function.Surjective A.mulVecLin
-  · rw [rank, mulVecLin_mul, LinearMap.range_comp_of_range_eq_top _
-    (LinearMap.range_eq_top.mpr this), ← rank]
+  suffices Function.Surjective A.mulVecLin by
+    rw [rank, mulVecLin_mul, LinearMap.range_comp_of_range_eq_top _
+      (LinearMap.range_eq_top.mpr this), ← rank]
   intro v
   exact ⟨(A⁻¹).mulVecLin v, by simp [mul_nonsing_inv _ hA]⟩
 
refactor(Cardinal): redefine toNat and toPartENat (#10472)

Redefine these operations in terms of toENat.

Diff
@@ -71,7 +71,7 @@ theorem rank_le_width [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (F
 theorem rank_mul_le_left [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
     (A * B).rank ≤ A.rank := by
   rw [rank, rank, mulVecLin_mul]
-  exact Cardinal.toNat_le_of_le_of_lt_aleph0 (rank_lt_aleph0 _ _) (LinearMap.rank_comp_le_left _ _)
+  exact Cardinal.toNat_le_toNat (LinearMap.rank_comp_le_left _ _) (rank_lt_aleph0 _ _)
 #align matrix.rank_mul_le_left Matrix.rank_mul_le_left
 
 theorem rank_mul_le_right [StrongRankCondition R] (A : Matrix l m R) (B : Matrix m n R) :
@@ -189,7 +189,7 @@ variable [Field R]
 theorem rank_diagonal [DecidableEq m] [DecidableEq R] (w : m → R) :
     (diagonal w).rank = Fintype.card {i // (w i) ≠ 0} := by
   rw [Matrix.rank, ← Matrix.toLin'_apply', FiniteDimensional.finrank, ← LinearMap.rank,
-    LinearMap.rank_diagonal, Cardinal.toNat_cast]
+    LinearMap.rank_diagonal, Cardinal.toNat_natCast]
 
 end Field
 
chore: Reorganize results about rank and finrank. (#9349)

The files Mathlib.LinearAlgebra.FreeModule.Rank, Mathlib.LinearAlgebra.FreeModule.Finite.Rank, Mathlib.LinearAlgebra.Dimension and Mathlib.LinearAlgebra.Finrank were reorganized into a folder Mathlib.LinearAlgebra.Dimension, containing the following files

  • Basic.lean: Contains the definition of Module.rank.
  • Finrank.lean: Contains the definition of FiniteDimensional.finrank.
  • StrongRankCondition.lean: Contains results about rank and finrank over rings satisfying strong rank condition
  • Free.lean: Contains results about rank and finrank of free modules
  • Finite.lean: Contains conditions or consequences for rank to be finite or zero
  • Constructions.lean: Contains the calculation of the rank of various constructions.
  • DivisionRing.lean: Contains results about rank and finrank of spaces over division rings.
  • LinearMap.lean: Contains results about LinearMap.rank

API changes: IsNoetherian.rank_lt_aleph0 and FiniteDimensional.rank_lt_aleph0 are replaced with rank_lt_aleph0. Module.Free.finite_basis was renamed to Module.Finite.finite_basis. FiniteDimensional.finrank_eq_rank was renamed to finrank_eq_rank. rank_eq_cardinal_basis and rank_eq_cardinal_basis' were removed in favour of Basis.mk_eq_mk and Basis.mk_eq_mk''.

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

Diff
@@ -3,13 +3,9 @@ Copyright (c) 2021 Johan Commelin. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin, Eric Wieser
 -/
-import Mathlib.LinearAlgebra.FreeModule.Finite.Rank
-import Mathlib.LinearAlgebra.Matrix.ToLin
-import Mathlib.LinearAlgebra.FiniteDimensional
 import Mathlib.LinearAlgebra.Matrix.DotProduct
 import Mathlib.LinearAlgebra.Determinant
 import Mathlib.LinearAlgebra.Matrix.Diagonal
-import Mathlib.Data.Complex.Module
 
 #align_import data.matrix.rank from "leanprover-community/mathlib"@"17219820a8aa8abe85adf5dfde19af1dd1bd8ae7"
 
chore: use _root_.map_sum more consistently (#7189)

Also _root_.map_smul when in the neighbourhood.

Diff
@@ -163,7 +163,7 @@ theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type*} [AddComm
   rw [toLin_eq_toLin', toLin'_apply'] at aux₁
   rw [Pi.basisFun_apply, LinearMap.coe_stdBasis] at aux₁ aux₂
   simp only [LinearMap.comp_apply, LinearEquiv.coe_coe, Equiv.refl_apply, aux₁, aux₂,
-    LinearMap.coe_single, toLin_self, LinearEquiv.map_sum, LinearEquiv.map_smul, Basis.equiv_apply]
+    LinearMap.coe_single, toLin_self, map_sum, LinearEquiv.map_smul, Basis.equiv_apply]
 #align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLin
 
 theorem rank_le_card_height [StrongRankCondition R] (A : Matrix m n R) :
feat: star self dot product eq zero and kernel lemmas apply to matrices not just vectors (#6587)

This generalizes two results about vectors to matrices:

  • dotProduct_star_self_eq_zero to conjTranspose_mul_self_eq_zero
  • dotProduct_self_star_eq_zero to self_mul_conjTranspose_eq_zero

It also adds lemmas linking the kernel (under left-multiplication, right-multiplication, vecMul, and mulVec) of $A$, $A^HA$, and $AA^H$.

Some of these lemmas are used in the SVD decomposition theorem of R or C matrices #6042

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

Diff
@@ -218,16 +218,7 @@ variable [Fintype m] [Field R] [PartialOrder R] [StarOrderedRing R]
 theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
     LinearMap.ker (Aᴴ * A).mulVecLin = LinearMap.ker (mulVecLin A) := by
   ext x
-  simp only [LinearMap.mem_ker, mulVecLin_apply, ← mulVec_mulVec]
-  constructor
-  · intro h
-    replace h := congr_arg (dotProduct (star x)) h
-    haveI : NoZeroDivisors R := inferInstance
-    rwa [dotProduct_mulVec, dotProduct_zero, vecMul_conjTranspose, star_star,
-      -- Porting note: couldn't find `NoZeroDivisors R` instance.
-      @dotProduct_star_self_eq_zero R _ _ _ _ _ ‹_›] at h
-  · intro h
-    rw [h, mulVec_zero]
+  simp only [LinearMap.mem_ker, mulVecLin_apply, conjTranspose_mul_self_mulVec_eq_zero]
 #align matrix.ker_mul_vec_lin_conj_transpose_mul_self Matrix.ker_mulVecLin_conjTranspose_mul_self
 
 theorem rank_conjTranspose_mul_self (A : Matrix m n R) : (Aᴴ * A).rank = A.rank := by
refactor(Data/Matrix): Eliminate notation in favor of HMul (#6487)

The main difficulty here is that * has a slightly difference precedence to . notably around smul and neg.

The other annoyance is that ↑U ⬝ A ⬝ ↑U⁻¹ : Matrix m m 𝔸 now has to be written U.val * A * (U⁻¹).val in order to typecheck.

A downside of this change to consider: if you have a goal of A * (B * C) = (A * B) * C, mul_assoc now gives the illusion of matching, when in fact Matrix.mul_assoc is needed. Previously the distinct symbol made it easy to avoid this mistake.

On the flipside, there is now no need to rewrite by Matrix.mul_eq_mul all the time (indeed, the lemma is now removed).

Diff
@@ -73,20 +73,20 @@ theorem rank_le_width [StrongRankCondition R] {m n : ℕ} (A : Matrix (Fin m) (F
 #align matrix.rank_le_width Matrix.rank_le_width
 
 theorem rank_mul_le_left [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
-    (A ⬝ B).rank ≤ A.rank := by
+    (A * B).rank ≤ A.rank := by
   rw [rank, rank, mulVecLin_mul]
   exact Cardinal.toNat_le_of_le_of_lt_aleph0 (rank_lt_aleph0 _ _) (LinearMap.rank_comp_le_left _ _)
 #align matrix.rank_mul_le_left Matrix.rank_mul_le_left
 
 theorem rank_mul_le_right [StrongRankCondition R] (A : Matrix l m R) (B : Matrix m n R) :
-    (A ⬝ B).rank ≤ B.rank := by
+    (A * B).rank ≤ B.rank := by
   rw [rank, rank, mulVecLin_mul]
   exact
     finrank_le_finrank_of_rank_le_rank (LinearMap.lift_rank_comp_le_right _ _) (rank_lt_aleph0 _ _)
 #align matrix.rank_mul_le_right Matrix.rank_mul_le_right
 
 theorem rank_mul_le [StrongRankCondition R] (A : Matrix m n R) (B : Matrix n o R) :
-    (A ⬝ B).rank ≤ min A.rank B.rank :=
+    (A * B).rank ≤ min A.rank B.rank :=
   le_min (rank_mul_le_left _ _) (rank_mul_le_right _ _)
 #align matrix.rank_mul_le Matrix.rank_mul_le
 
@@ -94,7 +94,7 @@ theorem rank_unit [StrongRankCondition R] [DecidableEq n] (A : (Matrix n n R)ˣ)
     (A : Matrix n n R).rank = Fintype.card n := by
   refine' le_antisymm (rank_le_card_width A) _
   have := rank_mul_le_left (A : Matrix n n R) (↑A⁻¹ : Matrix n n R)
-  rwa [← mul_eq_mul, ← Units.val_mul, mul_inv_self, Units.val_one, rank_one] at this
+  rwa [← Units.val_mul, mul_inv_self, Units.val_one, rank_one] at this
 #align matrix.rank_unit Matrix.rank_unit
 
 theorem rank_of_isUnit [StrongRankCondition R] [DecidableEq n] (A : Matrix n n R) (h : IsUnit A) :
@@ -106,7 +106,7 @@ theorem rank_of_isUnit [StrongRankCondition R] [DecidableEq n] (A : Matrix n n R
 /-- Right multiplying by an invertible matrix does not change the rank -/
 lemma rank_mul_eq_left_of_isUnit_det [DecidableEq n]
     (A : Matrix n n R) (B : Matrix m n R) (hA : IsUnit A.det) :
-    (B ⬝ A).rank = B.rank := by
+    (B * A).rank = B.rank := by
   suffices : Function.Surjective A.mulVecLin
   · rw [rank, mulVecLin_mul, LinearMap.range_comp_of_range_eq_top _
     (LinearMap.range_eq_top.mpr this), ← rank]
@@ -116,11 +116,11 @@ lemma rank_mul_eq_left_of_isUnit_det [DecidableEq n]
 /-- Left multiplying by an invertible matrix does not change the rank -/
 lemma rank_mul_eq_right_of_isUnit_det [DecidableEq m]
     (A : Matrix m m R) (B : Matrix m n R) (hA : IsUnit A.det) :
-    (A ⬝ B).rank = B.rank := by
+    (A * B).rank = B.rank := by
   let b : Basis m R (m → R) := Pi.basisFun R m
   replace hA : IsUnit (LinearMap.toMatrix b b A.mulVecLin).det := by
     convert hA; rw [← LinearEquiv.eq_symm_apply]; rfl
-  have hAB : mulVecLin (A ⬝ B) = (LinearEquiv.ofIsUnitDet hA).comp (mulVecLin B) := by ext; simp
+  have hAB : mulVecLin (A * B) = (LinearEquiv.ofIsUnitDet hA).comp (mulVecLin B) := by ext; simp
   rw [rank, rank, hAB, LinearMap.range_comp, LinearEquiv.finrank_map_eq]
 
 /-- Taking a subset of the rows and permuting the columns reduces the rank. -/
@@ -216,7 +216,7 @@ section StarOrderedField
 variable [Fintype m] [Field R] [PartialOrder R] [StarOrderedRing R]
 
 theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
-    LinearMap.ker (Aᴴ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) := by
+    LinearMap.ker (Aᴴ * A).mulVecLin = LinearMap.ker (mulVecLin A) := by
   ext x
   simp only [LinearMap.mem_ker, mulVecLin_apply, ← mulVec_mulVec]
   constructor
@@ -230,12 +230,12 @@ theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
     rw [h, mulVec_zero]
 #align matrix.ker_mul_vec_lin_conj_transpose_mul_self Matrix.ker_mulVecLin_conjTranspose_mul_self
 
-theorem rank_conjTranspose_mul_self (A : Matrix m n R) : (Aᴴ ⬝ A).rank = A.rank := by
+theorem rank_conjTranspose_mul_self (A : Matrix m n R) : (Aᴴ * A).rank = A.rank := by
   dsimp only [rank]
   refine' add_left_injective (finrank R (LinearMap.ker (mulVecLin A))) _
   dsimp only
-  trans finrank R { x // x ∈ LinearMap.range (mulVecLin (Aᴴ ⬝ A)) } +
-    finrank R { x // x ∈ LinearMap.ker (mulVecLin (Aᴴ ⬝ A)) }
+  trans finrank R { x // x ∈ LinearMap.range (mulVecLin (Aᴴ * A)) } +
+    finrank R { x // x ∈ LinearMap.ker (mulVecLin (Aᴴ * A)) }
   · rw [ker_mulVecLin_conjTranspose_mul_self]
   · simp only [LinearMap.finrank_range_add_finrank_ker]
 #align matrix.rank_conj_transpose_mul_self Matrix.rank_conjTranspose_mul_self
@@ -251,7 +251,7 @@ theorem rank_conjTranspose (A : Matrix m n R) : Aᴴ.rank = A.rank :=
 #align matrix.rank_conj_transpose Matrix.rank_conjTranspose
 
 @[simp]
-theorem rank_self_mul_conjTranspose (A : Matrix m n R) : (A ⬝ Aᴴ).rank = A.rank := by
+theorem rank_self_mul_conjTranspose (A : Matrix m n R) : (A * Aᴴ).rank = A.rank := by
   simpa only [rank_conjTranspose, conjTranspose_conjTranspose] using
     rank_conjTranspose_mul_self Aᴴ
 #align matrix.rank_self_mul_conj_transpose Matrix.rank_self_mul_conjTranspose
@@ -263,7 +263,7 @@ section LinearOrderedField
 variable [Fintype m] [LinearOrderedField R]
 
 theorem ker_mulVecLin_transpose_mul_self (A : Matrix m n R) :
-    LinearMap.ker (Aᵀ ⬝ A).mulVecLin = LinearMap.ker (mulVecLin A) := by
+    LinearMap.ker (Aᵀ * A).mulVecLin = LinearMap.ker (mulVecLin A) := by
   ext x
   simp only [LinearMap.mem_ker, mulVecLin_apply, ← mulVec_mulVec]
   constructor
@@ -274,12 +274,12 @@ theorem ker_mulVecLin_transpose_mul_self (A : Matrix m n R) :
     rw [h, mulVec_zero]
 #align matrix.ker_mul_vec_lin_transpose_mul_self Matrix.ker_mulVecLin_transpose_mul_self
 
-theorem rank_transpose_mul_self (A : Matrix m n R) : (Aᵀ ⬝ A).rank = A.rank := by
+theorem rank_transpose_mul_self (A : Matrix m n R) : (Aᵀ * A).rank = A.rank := by
   dsimp only [rank]
   refine' add_left_injective (finrank R <| LinearMap.ker A.mulVecLin) _
   dsimp only
-  trans finrank R { x // x ∈ LinearMap.range (mulVecLin (Aᵀ ⬝ A)) } +
-    finrank R { x // x ∈ LinearMap.ker (mulVecLin (Aᵀ ⬝ A)) }
+  trans finrank R { x // x ∈ LinearMap.range (mulVecLin (Aᵀ * A)) } +
+    finrank R { x // x ∈ LinearMap.ker (mulVecLin (Aᵀ * A)) }
   · rw [ker_mulVecLin_transpose_mul_self]
   · simp only [LinearMap.finrank_range_add_finrank_ker]
 #align matrix.rank_transpose_mul_self Matrix.rank_transpose_mul_self
@@ -292,7 +292,7 @@ theorem rank_transpose (A : Matrix m n R) : Aᵀ.rank = A.rank :=
 #align matrix.rank_transpose Matrix.rank_transpose
 
 @[simp]
-theorem rank_self_mul_transpose (A : Matrix m n R) : (A ⬝ Aᵀ).rank = A.rank := by
+theorem rank_self_mul_transpose (A : Matrix m n R) : (A * Aᵀ).rank = A.rank := by
   simpa only [rank_transpose, transpose_transpose] using rank_transpose_mul_self Aᵀ
 #align matrix.rank_self_mul_transpose Matrix.rank_self_mul_transpose
 
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -38,7 +38,7 @@ namespace Matrix
 
 open FiniteDimensional
 
-variable {l m n o R : Type _} [m_fin : Fintype m] [Fintype n] [Fintype o]
+variable {l m n o R : Type*} [m_fin : Fintype m] [Fintype n] [Fintype o]
 
 section CommRing
 
@@ -144,7 +144,7 @@ theorem rank_submatrix [Fintype m] (A : Matrix m m R) (e₁ e₂ : n ≃ m) :
   simpa only [reindex_apply] using rank_reindex e₁.symm e₂.symm A
 #align matrix.rank_submatrix Matrix.rank_submatrix
 
-theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCommGroup M₁]
+theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type*} [AddCommGroup M₁]
     [AddCommGroup M₂] [Module R M₁] [Module R M₂] (A : Matrix m n R) (v₁ : Basis m R M₁)
     (v₂ : Basis n R M₂) : A.rank = finrank R (LinearMap.range (toLin v₂ v₁ A)) := by
   let e₁ := (Pi.basisFun R m).equiv v₁ (Equiv.refl _)
feat: Rank of a hermitian matrix is the count of non-zero eigenvalues (#6354)

This PR provides the lemmas:

  • IsHermitian.spectral_theorem': a slightly modified spectral_theorem such that the hermitian matrix can be directly replaced. $$A = VDV^{-1}\quad D = \text{diag}(d)$$
  • IsHermitian.rank_eq_count_non_zero_eigs: the rank of a hermitian matrix is the number of non-zero eigenvalues of that matrix $$\text{rank}(A) = \text{card} \lbrace \quad i \quad | \quad d_i \neq 0 \rbrace$$
  • IsHermitian.rank_eq_rank_diagonal: the rank of a hermitian matrix is the same as its rank after diagonalization by the eigenvector matrix $$\text{rank}(A) = \text{rank}(D)$$
  • Matrix.rank_diagonal: the rank of a diagonal matrix is the number of non-zero diagonal elements. Note that this was previously the name of a lemma about LinearMaps we take that name (but keep the align to avoid disrupting the tooling). $$\text{rank}(V) = \text{Diag}(v) \implies \text{rank}(V) = \text{card} \lbrace \quad i \quad | \quad v_i \neq 0 \rbrace$$
  • LinearMap.rank_diagonal: the rank of a linear map that is formed from a diagonal matrix is the number of non-zero diagonal entries. This was previously called Matrix.rank_diagonal.

Co-authored-by: Mohanad Ahmed <m.a.m.elhassan@gmail.com>

Diff
@@ -8,6 +8,7 @@ import Mathlib.LinearAlgebra.Matrix.ToLin
 import Mathlib.LinearAlgebra.FiniteDimensional
 import Mathlib.LinearAlgebra.Matrix.DotProduct
 import Mathlib.LinearAlgebra.Determinant
+import Mathlib.LinearAlgebra.Matrix.Diagonal
 import Mathlib.Data.Complex.Module
 
 #align_import data.matrix.rank from "leanprover-community/mathlib"@"17219820a8aa8abe85adf5dfde19af1dd1bd8ae7"
@@ -184,6 +185,18 @@ theorem rank_eq_finrank_span_cols (A : Matrix m n R) :
 
 end CommRing
 
+section Field
+
+variable [Field R]
+
+/-- The rank of a diagnonal matrix is the count of non-zero elements on its main diagonal -/
+theorem rank_diagonal [DecidableEq m] [DecidableEq R] (w : m → R) :
+    (diagonal w).rank = Fintype.card {i // (w i) ≠ 0} := by
+  rw [Matrix.rank, ← Matrix.toLin'_apply', FiniteDimensional.finrank, ← LinearMap.rank,
+    LinearMap.rank_diagonal, Cardinal.toNat_cast]
+
+end Field
+
 /-! ### Lemmas about transpose and conjugate transpose
 
 This section contains lemmas about the rank of `Matrix.transpose` and `Matrix.conjTranspose`.
@@ -198,7 +211,6 @@ proof that is a simple consequence of `Matrix.rank_transpose_mul_self` and
 be replaced with a proof that uses Gaussian reduction or argues via linear combinations.
 -/
 
-
 section StarOrderedField
 
 variable [Fintype m] [Field R] [PartialOrder R] [StarOrderedRing R]
feat: (Mathlib.Data.Matrix.Rank): rank of a matrix unaffected by multiplication with invertible matrices (#6051)

This PR provides two lemmas:

  • Matrix.rank_mul_eq_left_of_isUnit_det in a commutative ring R post multiplication (multiplication from the right) by an invertible matrix does not change the rank of a matrix. With $A$ an invertible matrix: $$\text{rank}(BA) = \text{rank}(B)$$

  • Matrix.rank_mul_eq_right_of_isUnit_det in a commutative ring R pre-multiplication (multiplication from the left) by an invertible matrix does not change the rank of a matrix. With $A$ an invertible matrix: $$\text{rank}(AB) = \text{rank}(B)$$

Co-authored-by: Mohanad Ahmed <m.a.m.elhassan@gmail.com>

Co-authored-by: Oliver Nash <github@olivernash.org> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -1,12 +1,13 @@
 /-
 Copyright (c) 2021 Johan Commelin. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
-Authors: Johan Commelin, Eric Wieer
+Authors: Johan Commelin, Eric Wieser
 -/
 import Mathlib.LinearAlgebra.FreeModule.Finite.Rank
 import Mathlib.LinearAlgebra.Matrix.ToLin
 import Mathlib.LinearAlgebra.FiniteDimensional
 import Mathlib.LinearAlgebra.Matrix.DotProduct
+import Mathlib.LinearAlgebra.Determinant
 import Mathlib.Data.Complex.Module
 
 #align_import data.matrix.rank from "leanprover-community/mathlib"@"17219820a8aa8abe85adf5dfde19af1dd1bd8ae7"
@@ -101,6 +102,26 @@ theorem rank_of_isUnit [StrongRankCondition R] [DecidableEq n] (A : Matrix n n R
   exact rank_unit A
 #align matrix.rank_of_is_unit Matrix.rank_of_isUnit
 
+/-- Right multiplying by an invertible matrix does not change the rank -/
+lemma rank_mul_eq_left_of_isUnit_det [DecidableEq n]
+    (A : Matrix n n R) (B : Matrix m n R) (hA : IsUnit A.det) :
+    (B ⬝ A).rank = B.rank := by
+  suffices : Function.Surjective A.mulVecLin
+  · rw [rank, mulVecLin_mul, LinearMap.range_comp_of_range_eq_top _
+    (LinearMap.range_eq_top.mpr this), ← rank]
+  intro v
+  exact ⟨(A⁻¹).mulVecLin v, by simp [mul_nonsing_inv _ hA]⟩
+
+/-- Left multiplying by an invertible matrix does not change the rank -/
+lemma rank_mul_eq_right_of_isUnit_det [DecidableEq m]
+    (A : Matrix m m R) (B : Matrix m n R) (hA : IsUnit A.det) :
+    (A ⬝ B).rank = B.rank := by
+  let b : Basis m R (m → R) := Pi.basisFun R m
+  replace hA : IsUnit (LinearMap.toMatrix b b A.mulVecLin).det := by
+    convert hA; rw [← LinearEquiv.eq_symm_apply]; rfl
+  have hAB : mulVecLin (A ⬝ B) = (LinearEquiv.ofIsUnitDet hA).comp (mulVecLin B) := by ext; simp
+  rw [rank, rank, hAB, LinearMap.range_comp, LinearEquiv.finrank_map_eq]
+
 /-- Taking a subset of the rows and permuting the columns reduces the rank. -/
 theorem rank_submatrix_le [StrongRankCondition R] [Fintype m] (f : n → m) (e : n ≃ m)
     (A : Matrix m m R) : rank (A.submatrix f e) ≤ rank A := by
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2021 Johan Commelin. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin, Eric Wieer
-
-! This file was ported from Lean 3 source module data.matrix.rank
-! leanprover-community/mathlib commit 17219820a8aa8abe85adf5dfde19af1dd1bd8ae7
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.LinearAlgebra.FreeModule.Finite.Rank
 import Mathlib.LinearAlgebra.Matrix.ToLin
@@ -14,6 +9,8 @@ import Mathlib.LinearAlgebra.FiniteDimensional
 import Mathlib.LinearAlgebra.Matrix.DotProduct
 import Mathlib.Data.Complex.Module
 
+#align_import data.matrix.rank from "leanprover-community/mathlib"@"17219820a8aa8abe85adf5dfde19af1dd1bd8ae7"
+
 /-!
 # Rank of matrices
 
chore: fix typos (#4518)

I ran codespell Mathlib and got tired halfway through the suggestions.

Diff
@@ -176,7 +176,7 @@ not linearly ordered. For now we don't prove the transpose case for `ℂ`.
 
 TODO: the lemmas `Matrix.rank_transpose` and `Matrix.rank_conjTranspose` current follow a short
 proof that is a simple consequence of `Matrix.rank_transpose_mul_self` and
-`Matrix.rank_conjTranspose_mul_self`. This proof pulls in unecessary assumptions on `R`, and should
+`Matrix.rank_conjTranspose_mul_self`. This proof pulls in unnecessary assumptions on `R`, and should
 be replaced with a proof that uses Gaussian reduction or argues via linear combinations.
 -/
 
feat: port Analysis.Quaternion (#4515)

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

Diff
@@ -171,7 +171,7 @@ end CommRing
 This section contains lemmas about the rank of `Matrix.transpose` and `Matrix.conjTranspose`.
 
 Unfortunately the proofs are essentially duplicated between the two; `ℚ` is a linearly-ordered ring
-but can't be a star-ordered ring, while `ℂ` is star-ordered (with `open_locale complex_order`) but
+but can't be a star-ordered ring, while `ℂ` is star-ordered (with `open ComplexOrder`) but
 not linearly ordered. For now we don't prove the transpose case for `ℂ`.
 
 TODO: the lemmas `Matrix.rank_transpose` and `Matrix.rank_conjTranspose` current follow a short
chore: reenable eta, bump to nightly 2023-05-16 (#3414)

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

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

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

Diff
@@ -61,7 +61,6 @@ theorem rank_zero [Nontrivial R] : rank (0 : Matrix m n R) = 0 := by
   rw [rank, mulVecLin_zero, LinearMap.range_zero, finrank_bot]
 #align matrix.rank_zero Matrix.rank_zero
 
-set_option synthInstance.etaExperiment true in
 theorem rank_le_card_width [StrongRankCondition R] (A : Matrix m n R) :
     A.rank ≤ Fintype.card n := by
   haveI : Module.Finite R (n → R) := Module.Finite.pi
@@ -105,7 +104,6 @@ theorem rank_of_isUnit [StrongRankCondition R] [DecidableEq n] (A : Matrix n n R
   exact rank_unit A
 #align matrix.rank_of_is_unit Matrix.rank_of_isUnit
 
-set_option synthInstance.etaExperiment true in
 /-- Taking a subset of the rows and permuting the columns reduces the rank. -/
 theorem rank_submatrix_le [StrongRankCondition R] [Fintype m] (f : n → m) (e : n ≃ m)
     (A : Matrix m m R) : rank (A.submatrix f e) ≤ rank A := by
@@ -149,7 +147,6 @@ theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCom
     LinearMap.coe_single, toLin_self, LinearEquiv.map_sum, LinearEquiv.map_smul, Basis.equiv_apply]
 #align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLin
 
-set_option synthInstance.etaExperiment true in
 theorem rank_le_card_height [StrongRankCondition R] (A : Matrix m n R) :
     A.rank ≤ Fintype.card m := by
   haveI : Module.Finite R (m → R) := Module.Finite.pi
@@ -203,9 +200,6 @@ theorem ker_mulVecLin_conjTranspose_mul_self (A : Matrix m n R) :
     rw [h, mulVec_zero]
 #align matrix.ker_mul_vec_lin_conj_transpose_mul_self Matrix.ker_mulVecLin_conjTranspose_mul_self
 
--- Porting note: using `LinearMap.finrank_range_add_finrank_ker` is very slow
-set_option synthInstance.etaExperiment true in
-set_option maxHeartbeats 300000 in
 theorem rank_conjTranspose_mul_self (A : Matrix m n R) : (Aᴴ ⬝ A).rank = A.rank := by
   dsimp only [rank]
   refine' add_left_injective (finrank R (LinearMap.ker (mulVecLin A))) _
@@ -216,7 +210,6 @@ theorem rank_conjTranspose_mul_self (A : Matrix m n R) : (Aᴴ ⬝ A).rank = A.r
   · simp only [LinearMap.finrank_range_add_finrank_ker]
 #align matrix.rank_conj_transpose_mul_self Matrix.rank_conjTranspose_mul_self
 
-set_option synthInstance.etaExperiment true in
 -- this follows the proof here https://math.stackexchange.com/a/81903/1896
 /-- TODO: prove this in greater generality. -/
 @[simp]
@@ -251,9 +244,6 @@ theorem ker_mulVecLin_transpose_mul_self (A : Matrix m n R) :
     rw [h, mulVec_zero]
 #align matrix.ker_mul_vec_lin_transpose_mul_self Matrix.ker_mulVecLin_transpose_mul_self
 
--- Porting note: using `LinearMap.finrank_range_add_finrank_ker` is very slow
-set_option synthInstance.etaExperiment true in
-set_option maxHeartbeats 300000 in
 theorem rank_transpose_mul_self (A : Matrix m n R) : (Aᵀ ⬝ A).rank = A.rank := by
   dsimp only [rank]
   refine' add_left_injective (finrank R <| LinearMap.ker A.mulVecLin) _
@@ -264,7 +254,6 @@ theorem rank_transpose_mul_self (A : Matrix m n R) : (Aᵀ ⬝ A).rank = A.rank
   · simp only [LinearMap.finrank_range_add_finrank_ker]
 #align matrix.rank_transpose_mul_self Matrix.rank_transpose_mul_self
 
-set_option synthInstance.etaExperiment true in
 /-- TODO: prove this in greater generality. -/
 @[simp]
 theorem rank_transpose (A : Matrix m n R) : Aᵀ.rank = A.rank :=
chore: bye-bye, solo bys! (#3825)

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

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

Diff
@@ -62,8 +62,8 @@ theorem rank_zero [Nontrivial R] : rank (0 : Matrix m n R) = 0 := by
 #align matrix.rank_zero Matrix.rank_zero
 
 set_option synthInstance.etaExperiment true in
-theorem rank_le_card_width [StrongRankCondition R] (A : Matrix m n R) : A.rank ≤ Fintype.card n :=
-  by
+theorem rank_le_card_width [StrongRankCondition R] (A : Matrix m n R) :
+    A.rank ≤ Fintype.card n := by
   haveI : Module.Finite R (n → R) := Module.Finite.pi
   haveI : Module.Free R (n → R) := Module.Free.pi _ _
   exact A.mulVecLin.finrank_range_le.trans_eq (finrank_pi _)
@@ -150,8 +150,8 @@ theorem rank_eq_finrank_range_toLin [DecidableEq n] {M₁ M₂ : Type _} [AddCom
 #align matrix.rank_eq_finrank_range_to_lin Matrix.rank_eq_finrank_range_toLin
 
 set_option synthInstance.etaExperiment true in
-theorem rank_le_card_height [StrongRankCondition R] (A : Matrix m n R) : A.rank ≤ Fintype.card m :=
-  by
+theorem rank_le_card_height [StrongRankCondition R] (A : Matrix m n R) :
+    A.rank ≤ Fintype.card m := by
   haveI : Module.Finite R (m → R) := Module.Finite.pi
   haveI : Module.Free R (m → R) := Module.Free.pi _ _
   exact (Submodule.finrank_le _).trans (finrank_pi R).le
feat: port Data.Matrix.Rank (#3762)

Dependencies 12 + 664

665 files ported (98.2%)
287647 lines ported (98.1%)
Show graph

The unported dependencies are

The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file